- Cocoonテーマでサイトロゴのリンク先を変更したいと思って、
functions.php
をカスタマイズしました。 add_filter
で「’mobile_header_site_logo_url
‘」の処理で条件分岐するようにして、記事ページとトップページではブログ一覧に移動するように変更しました。
1. ロゴのリンク先を分岐させたい
サイト上のロゴを押したとき、通常はトップページに移行します。
しかし、記事上に限ってはブログ一覧ページに移行するように変更しようと思います。
以下のコードを functions.php
に追加しました。
/** ヘッダーロゴのリンク先URLを変更する 2024-04-21*/
function get_header_site_logo_url_optional($url) {
if (is_singular('post') || is_front_page()) {
return home_url('/blog/');
} else {
return home_url('/');
}
}
add_filter('mobile_header_site_logo_url', 'get_header_site_logo_url_optional');
検索結果から直接 記事を読みに来た人にとっては、「教室サイト」というより「ブログサイト」としての機能が期待されていると思ったからです。
2. Cocoonでのロゴのリンク先を変更する方法
まず、Cocoonテーマでサイトロゴのリンク先を変更する基本の方法からおさらいします。
それには、以下のコードをfunctions.php に追加します。1
//ヘッダーロゴURLを変更する
add_filter('header_site_logo_url', function ($url){
return 'https://www.google.co.jp/';
});
ただし、モバイルヘッダーの場合は、うまくいきませんでした。
コードを調べると、‘mobile_header_site_logo_url
‘ にすればよいことがわかりました。
- site_logo_url:ヘッダーとフッターロゴURLをまとめて変更する
- header_site_logo_url
- footer_site_logo_url
- mobile_header_site_logo_url2
3. ページの種類をチェックする
次に、このフィルター関数の処理で表示されているページ情報から分岐すればよいことになります。
それには、is_singular関数を使います3。
is_singular()
個別ページが表示されている場合is_singular('post')
「post(投稿)」が表示されている場合is_singular(‘page’)
「page(固定ページ)」が表示されている場合is_singular(array('post','topics'))
「post(投稿)」または「topics(カスタム投稿タイプ例)」の個別ページが表示されている場合
また、トップページについては4、
is_front_page()
サイトのフロントページ(トップページ)かどうかを判定するis_home()
サイトのブログ投稿インデックスページかどうかを判定する
/** ヘッダーロゴのリンク先URLを変更する 2024-04-21*/
function get_header_site_logo_url_optional($url) {
if (is_singular('post') || is_front_page()) {
return home_url('/blog/');
} else {
return home_url('/');
}
}
add_filter('mobile_header_site_logo_url', 'get_header_site_logo_url_optional');
ただし、実際に操作してみると、同じ要素で違うページに行くのは直感的ではない気もしました。
サイトロゴのリンク先を無条件に記事一覧に変更するだけでもよかったかもしれません。
また、よりよい方法を検証していきます。
こちらもどうぞ。
[Cocoon] 「SNSシェア」ボタンをショートコードで表示できるようにした
記事内で、以下のショートコードを入力することで、好きな位置にSNSシェアボタンを出せるようにしたいと思います。[sns_share_buttons]できたコード(functions.php)はこちら。/** CocoonのSNSシェアボタンを表示するショートコード 2024-02-18 */add_shortcode( 'sns_share_buttons', 'wrap_get_template_sns_share' );if ( ! function_exists( 's...
[Cocoon] 各見出し後に「目次に戻る」リンクを追加した(functions.php)
ブログの中でもっともよくクリックされるのは、「目次」だそうです。各セクションに Cocoonの目次に対応した「戻る」ボタンを設置しました。参考サイトを元に、自分のブログに合うように一部修正しました。確かに、目次からサッと読みたいところを確認できるサイトは、とても便利ですよね。目次に戻るリンクを挿入するコードfunctions.phpに追加します。/** 自動で目次に戻るリンクを挿入 */add_filter('the_content', function($content) ...
[Cocoon] 記事のタグをサイドバーに表示した(タグクラウドではない)
ブログのサイドバーの項目を見直してみました。WordPressのサイドバーに記事のタグを追加したカスタム検索とナビゲーションメニューの間に、・リンク・目次・タグ・関連記事を追加しました。とくに、記事のタグを追加するのが、大変だったのでメモします。「タグ」を表示する今回、サイドバーにタグを設置しようと思ったのは、検索が面倒な人に関連記事を探しやすくしたいからです。Cocoonテーマでは、記事のタイトル上下や本文下には、「タグ」を表示することができます。Cocoonの投稿にタグを...
(補足)
- CocoonのサイトロゴURLを任意のものに変更するカスタマイズ方法 | Cocoon
- cocoon/tmp/mobile-logo-button.php · xserver-inc/cocoon
- WordPressのテーマ作成で利用する条件分岐まとめ | 記事 | ShitTakaBull
- フロントページ(トップページ)・ブログ投稿ページかどうかを判定する | The WordPress Press
QRコードを読み込むと、関連記事を確認できます。