WordPressテーマSimplicity2の関連記事に2つのウィジットを設置する場合の方法をメモ。
前に「Simplicity2の関連記事にウィジットを設置する方法」を書いたけど、2つ目のウィジットを設置する場合の記述のコツがあるようなので。
まあ、初心者向きです。
WordPressテーマ
simplicity2
カスタマイズするPHP
Simplicity2 child(子テーマ)のテーマのための関数 (functions.php)
Simplicity2 child(子テーマ)の(related-entries.php)
〔functions.php〕の記述
こちらは、ウィジットエリアの作成のための記述を繰り返し書くだけ。
// ウィジェット領域の作成
// 関連記事にウィジェット領域の作成
register_sidebars( 1, array(
'name' => '関連記事の中間',
'id' => 'k-related-widget',
'description' => '関連記事の中間に表示されるウイジェット。',
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
));
// 関連記事にウィジェット領域の作成2
register_sidebars( 1, array(
'name' => '関連記事の5番目に表示',
'id' => 'k5-related-widget',
'description' => '関連記事の5番目に表示されるウイジェット。',
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
));
// 関連記事にウィジェット領域の作成
register_sidebars( 1, array(
'name' => '関連記事の中間',
'id' => 'k-related-widget',
'description' => '関連記事の中間に表示されるウイジェット。',
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
));
// 関連記事にウィジェット領域の作成2
register_sidebars( 1, array(
'name' => '関連記事の5番目に表示',
'id' => 'k5-related-widget',
'description' => '関連記事の5番目に表示されるウイジェット。',
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
));
〔related-entries.php〕の記述
問題は、こちらのrelated-entries.phpへの記述。
1.related-entries.phpの中の以下の記述を探す。
<?php if( $query -> have_posts() && !empty($args) ): //関連記事があるとき?>
<?php while ($query -> have_posts()) : $query -> the_post(); ?>
<?php while ($query -> have_posts()) : $query -> the_post(); ?>
2.上記のコードを以下のコードに書き換える。
<?php //関連記事の中にウィジットを設定
//関連記事の3番目にウィジットを設定
if( $query -> have_posts() && !empty( $args ) ) :
$count = 0;
while( $query -> have_posts() ) : $query -> the_post();
$count++;
if( $count == 3 && is_active_sidebar( 'k-related-widget' ) && !is_amp() ) {
echo '<div class="k-related">';
dynamic_sidebar( 'k-related-widget' );
echo '</div>';
}
//関連記事の5番目にウィジットを設定
if( $count == 5 && is_active_sidebar( 'k5-related-widget' ) && !is_amp() ) {
echo '<div class="k5-related">';
dynamic_sidebar( 'k5-related-widget' );
echo '</div>';
}
?>
//関連記事の3番目にウィジットを設定
if( $query -> have_posts() && !empty( $args ) ) :
$count = 0;
while( $query -> have_posts() ) : $query -> the_post();
$count++;
if( $count == 3 && is_active_sidebar( 'k-related-widget' ) && !is_amp() ) {
echo '<div class="k-related">';
dynamic_sidebar( 'k-related-widget' );
echo '</div>';
}
//関連記事の5番目にウィジットを設定
if( $count == 5 && is_active_sidebar( 'k5-related-widget' ) && !is_amp() ) {
echo '<div class="k5-related">';
dynamic_sidebar( 'k5-related-widget' );
echo '</div>';
}
?>
〔functions.php〕の記述と対応して、上の記述を記載すると、関連記事の3番目(2番目の下)と5番目(4番目の下)にウィジットエリアを置くことができる。
コードの説明は、「Simplicity2の関連記事にウィジットを設置する方法」を見てね。
コメント