既存のWordPress(ワードプレス)ブログから特定のカテゴリーを独立させて新しいブログを作り、そのブログへのリンクをカテゴリー一覧に埋め込みたいときのやり方をメモ。
当方、PHPが苦手なので単純な方法になります。
目次
コンテンツが濃いカテゴリーを独立させたい
まずは経緯から。
僕が運営する「メンズ美容」のブログに「育毛」のカテゴリーがありました↓↓↓
参考:美容系男子
運営していくうちに、育毛記事が増えすぎてしまったので独立させたいなと作ったブログがこちら↓↓↓
参考:育毛系男子
これで、それぞれのブログの運営がやりやすくなりました。
育毛ブログへの導線を考える
独立させたのはいいのですが、これから新規で訪れた人に「育毛カテゴリーもある」というのを伝えたいなと。
今までの導線が、メインメニューからのリンクとブログ開設のお知らせ記事、トップページのピックアップ記事、フッターメニューからの外部リンクの4か所でした。
そして、「サイドバーから色々見る」という人には、ウィジェットから「育毛カテゴリーはこちら」というテキストリンク。
しかし、この導線だと気づかない人も多いことがわかったんですね。
サイドバーカテゴリー一覧に埋め込みたい
そこで、対策として再び「育毛」カテゴリーを作り「開設のお知らせ」の記事をリンクさせることにしました。
しかし、それだと育毛カテゴリーが1記事しかないと見た目も悪いしSEO的にも悪いなと。
育毛カテゴリーのみをnoindexにする手もありますが、余計なクリックも減らしたいので「できればここに外部リンクを埋め込みたい」と考えました。
PHPがよくわからない
その場合、サイドバーのカテゴリーメニューを標準のものではなく「メニュー」での組み立てになります。
しかし、その場合は「投稿数」の表示が消えてしまうので嫌だなと。
調べたのですが、メニュー表示のカテゴリーの投稿数を表示するプラグインがみつかりませんでした。
PHPをいじればどうにかできるのかもしれませんが当方PHP知識が乏しく、検索してもヒットする記事はありませんでした。
自分で考えるしかないなと。
「functions.php」の改造
僕が使っているテーマファイル「foodica」の「functions.php」にある以下の部分↓↓↓
register_sidebar( array( 'name' => __( 'Sidebar', 'foodica' ), 'id' => 'sidebar-1', 'before_widget' => '<div class="widget %2$s" id="%1$s">', 'after_widget' => '<div class="clear"></div></div>', 'before_title' => '<h3 class="title">', 'after_title' => '</h3>', ) );
ここを3つに増やして、’name’と’id’の部分を変更↓↓↓
register_sidebar( array( 'name' => __( 'Sidebar', 'foodica' ), 'id' => 'sidebar-1', 'before_widget' => '<div class="widget %2$s" id="%1$s">', 'after_widget' => '<div class="clear"></div></div>', 'before_title' => '<h3 class="title">', 'after_title' => '</h3>', ) ); register_sidebar( array( 'name' => __( 'Sidebar2', 'foodica' ), 'id' => 'sidebar-2', 'before_widget' => '<div class="widget %2$s" id="%1$s">', 'after_widget' => '<span class="left"><a href="https://aga-soudan.com/" target="_blank">育毛<img src="https://mensbiyou.net/wp-content/uploads/2019/10/newtab.png" class="newtab"></a></span><div class="clear"></div></div>', 'before_title' => '<h3 class="title">', 'after_title' => '</h3>', ) ); register_sidebar( array( 'name' => __( 'Sidebar3', 'foodica' ), 'id' => 'sidebar-3', 'before_widget' => '<div class="widget %2$s" id="%1$s">', 'after_widget' => '<div class="clear"></div></div>', 'before_title' => '<h3 class="title">', 'after_title' => '</h3>', ) );
sidebar-2にカテゴリーを表示させて、外部リンクを最後に付ける内容です。
すると、「外観」→「ウィジェット」にサイドバーが2つ増えます。
それぞれに表示させたいものを映します↓↓↓
カテゴリーが真ん中です。
「sidebar.php」の改造
次に、テーマ内の「sidebar.php」ファイルもサイドバーを3つにします↓↓↓
<?php if ( ! dynamic_sidebar( 'sidebar-1' ) ) : ?> <?php the_widget('WP_Widget_Recent_Posts', 'title=' . esc_html__('Recent Posts', 'foodica') , 'before_title=<h3 class="title"><span>&after_title=</span></h3>&before_widget=<div class="widget">&after_widget=</div>'); ?> <?php the_widget( 'WP_Widget_Categories', 'title=' . esc_html__('Categories', 'foodica'), 'before_title=<h3 class="title"><span>&after_title=</span></h3>&before_widget=<div class="widget">&after_widget=</div>'); ?> <div id="tag_cloud" class="widget"> <h3 class="title"><?php esc_html_e( 'Popular Tags', 'foodica' ); ?></h3> <div class="tagcloud"> <?php wp_tag_cloud( 'show_count=1&smallest=8&largest=22&number=12' ); ?> </div> </div> <div id="meta" class="widget"> <h3 class="title"><?php esc_html_e( 'Meta', 'foodica' ); ?></h3> <ul> <?php wp_register(); ?> <li><?php wp_loginout(); ?></li> <?php wp_meta(); ?> </ul> </div> <?php endif; // end sidebar widget area ?> <?php if ( ! dynamic_sidebar( 'sidebar-2' ) ) : ?> <?php the_widget( 'WP_Widget_Categories', 'title=' . esc_html__('Categories', 'foodica'), 'before_title=<h3 class="title"><span>&after_title=</span></h3>&before_widget=<div class="widget">&after_widget=</div>'); ?> <?php endif; // end sidebar widget area ?> <?php if ( ! dynamic_sidebar( 'sidebar-3' ) ) : ?> <?php the_widget('WP_Widget_Recent_Posts', 'title=' . esc_html__('Recent Posts', 'foodica') , 'before_title=<h3 class="title"><span>&after_title=</span></h3>&before_widget=<div class="widget">&after_widget=</div>'); ?> <?php the_widget( 'WP_Widget_Categories', 'title=' . esc_html__('Categories', 'foodica'), 'before_title=<h3 class="title"><span>&after_title=</span></h3>&before_widget=<div class="widget">&after_widget=</div>'); ?> <div id="tag_cloud" class="widget"> <h3 class="title"><?php esc_html_e( 'Popular Tags', 'foodica' ); ?></h3> <div class="tagcloud"> <?php wp_tag_cloud( 'show_count=1&smallest=8&largest=22&number=12' ); ?> </div> </div> <div id="meta" class="widget"> <h3 class="title"><?php esc_html_e( 'Meta', 'foodica' ); ?></h3> <ul> <?php wp_register(); ?> <li><?php wp_loginout(); ?></li> <?php wp_meta(); ?> </ul> </div> <?php endif; // end sidebar widget area ?>
これで完了。
外部リンクのマークを入れておきました
一応、念のために外部リンクのマークを入れておきます↓↓↓
これで理想的な状態になりました。
おそらく、もっと簡単な方法があると思うので参考程度に。
以上です。
Byさちお
元シンガーソングライターで、メンズ美容ブログ、パンブログもやってます。たまにテレビに出てたりします。最近はTikTokも頑張ってます。