Principle というテーマを使わせてもらう事にしました

オフィシャルテーマのTwenty Fourteenを使用していましたが、日本語でブログ書くなら日本人の作ったテーマを使ってみようかなと思い立ちました。郷に入れば郷に従えという訳でもないですが、見やすく親しみもわきやすいのかなと思います。まぁ、サイト自体の露出も少ないし、誰が見るのかという話もありますが…。

2014-06-18-wp-theme-principe

画像は Principle 5.0 のテーマを適用した物です。因みに去年から今年にかけての変化はこちらを見て下さい。

基本的に着せ替え感覚でテーマを使用している身としては、テーマ自体に手を入れる事をせずプラグインで拡張する傾向があったのですが、ある程度のオールインワン的な物もありなのかなと、ちょっと考えてしまいました。

移行に伴って、プラグインに任せていた機能のいくつかをテーマに内蔵された機能に置き換えていったのですが、おすすめ記事の機能で不具合と不都合な点があったため修正を提案してみます。

<?php
		foreach($tags as $tag){
			$args = array(
				'tag'=> $tag->name,
				'post__not_in' => array($id),
				'orderby'=>'rand',
				'posts_per_page' => 5
				);
				
			$the_query = new WP_Query($args);
			if($the_query->have_posts()){
?>
				<p style="width:110px; margin:20px 0 10px; background-color:red; text-align:center; color:#fff; font-size:0.9em; border-radius:5px;">おすすめ記事</p>
				<div class='s' style='margin-bottom:20px;'>
<?php
				while($the_query->have_posts()){
					$the_query->the_post();
					echo "<a href='";
					the_permalink();
					echo "'><p style='margin-bottom: 10px;'>";
					the_title();
					echo "</p></a>";
				}
			}
			wp_reset_postdata();
		}
	echo "</div>";
	}
?>

このままだと、複数のタグが設定されている場合に「おすすめ記事」が複数列挙されてしまう事と、タグの設定次第で同じ記事が複数列挙される事、divを閉じるタグが足りなくなるという不具合が生じるので以下のようにしました。

<?php
		foreach($tags as $tag){
			if( $tags_string )$tags_string.=",";
			$tags_string.=$tag->name;
		}
		if( $tags_string ){
			$args = array(
				'tag'=> $tags_string,
				'post__not_in' => array($id),
				'orderby'=>'rand',
				'posts_per_page' => 5
				);
				
			$the_query = new WP_Query($args);
			if($the_query->have_posts()){
	?>
				<p style="width:110px; margin:20px 0 10px; background-color:red; text-align:center; color:#fff; font-size:0.9em; border-radius:5px;">おすすめ記事</p>
				<div class='s' style='margin-bottom:20px;'>
	<?php
				while($the_query->have_posts()){
					$the_query->the_post();
					echo "<a href='";
					the_permalink();
					echo "'><p style='margin-bottom: 10px;'>";
					the_title();
					echo "</p></a>";
				}
				echo "</div>";
			}
			wp_reset_postdata();
		}
	}
?>

 

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください