【yStandardカスタマイズ】フッターコンテンツの優先度を変更する

2021年12月5日

今回は記事下にある広告、SNSボタン、関連記事などのフッターコンテンツの優先度を変えてレイアウト変更をしてみたいと思います。使用しているテーマはyStandardです。

2012/12/09 追記
いろいろ調べたり勉強したりして子テーマのfunctions.phpでカスタマイズできるようになりました。正しいかどうかはわかりませんが。yStandard 4.30.3、子テーマ 4.0.0です。

フッターコンテンツ

フッターコンテンツは記事下にある広告やSNSのシェアボタン、関連記事等のことです。これらの位置を入れ替えてみたいと思います。

子テーマのfunctions.php

/* フッターコンテンツの優先度 */
add_filter(
  'ys_get_content_footer_priority',
  function ( $atts ) {
    $atts['widget']    = 10;
    $atts['ad']        = 20;
    $atts['sns-share'] = 30;
    $atts['taxonomy']  = 40;
    $atts['author']    = 50;
    $atts['related']   = 60;
    $atts['comment']   = 70;
    $atts['paging']    = 80;

    return $atts;
  }
  );

ウィジェットが10、広告が20、・・・とそれぞれの項目に優先度がつけられています。この数値を入れ替えることでフッターコンテンツの順番を変えることができます。

優先度を変更したら、コードを子テーマのfunctions.phpに貼り付けて保存します。あとは実際に変更されたかを確認してください。

フィルターフックというのをいろいろ調べたりしたんですが、独学でその部分だけを理解して使用中のテーマに応用するというのはなかなか難しいですね

参考:記事下の関連記事のレイアウトとリスト型にカスタマイズする方法

以下、旧コンテンツです。

class-content.php

カスタマイズするファイルはclass-content.phpです。ystandard>inc>contentという場所にあります。phpファイルの変更時には必ずバックアップを取っておいてください。このファイルをダウンロードしてテキストエディタで見ていきます。

この作業はFTPソフトやレンタルサーバーのファイルマネージャ―等で行うことができます。

class-content.phpの最初の方にフッターコンテンツの優先順位というものがあります。ここで各コンテンツのレイアウト順と呼べる優先順位が決められています。

お好みで変更してください。

記事>カテゴリ・タグ>SNSボタン>広告>関連記事の順にしてみました。

親ファイルの変更は大変

yStandardではincフォルダは子テーマによる上書き対象外のようなので、ここのファイルをいじるためには親テーマを直接編集しなければなりません。リスクもあるのですが、一番はテーマのアップデートの度に同じ変更を行わなければいけないということです。

yStandardは作者さんのおかげでテーマの更新頻度は高めです。

そこで、ちょっとした更新ならばそのままにしておいて、大きな更新のときにアップデートを適用することで親テーマの編集頻度を下げます。

つまり、今がバージョン4.30.3だとすると4.30.4などのバージョンアップは一旦保留にしておいて、4.31.0になった時にアップデートするようにします。もちろん、サイトに関係の深いアップデートがあったらその都度しますが。こうすれば親テーマをいじる頻度を減らせますね。

カスタマイズは常に自己責任になってしまいますが、少しでも参考になれば幸いです。