お問い合わせ

SWELLカスタマイズ|TOPページの記事スライダーにカスタム投稿を表示する

SWELLのTOPページには記事スライダーを表示することができます。

この記事スライダーは、初期状態だと投稿(post_type=”post”)以外の表示には対応していません。

SWELLのフォーラムに以下のような質問がありました。

post_slider.php の

‘post_type’ => ‘カスタム投稿タイプ名’,

でできました!

お騒がせしました。

特にレスもつくことなく、テンプレートファイル(post_slider.php)を変更することで自己解決してしまったようです。

テンプレートファイルを書き換えるのは、フックなどの代替手段が無い場合の最終手段にするべきです。

SWELLでカスタム投稿を使う場合、カスタム投稿に未対応な機能が多いので自力のカスタマイズが必要なことが多いです。

この記事では、テンプレートファイルを修正せずに、フックで記事スライダーが表示する投稿タイプをカスタマイズする方法をお伝えします。

SWELLのTOPページの記事スライダーはフックでクエリパラメータを書き換えられる

記事スライダーのクエリが実行されるのは、loop_by_slider.phpです。

// クエリの取得
$the_query = new WP_Query( apply_filters( 'swell_pickup_post_args', $query_args ) );

ソースを見るとわかりますが、swell_pickup_post_argsというフックが仕込まれています。

このフックを使えば、クエリパラメータを書き換えることができますから、様々なカスタマイズが可能です。

SWELLのswell_pickup_post_argsフックでカスタム投稿(xxxx)に対応する例

wp_queryに渡すパラメータ配列がそのままフックで変更できますので、wp_queryが受け付ける内容であれば自由に変更可能です。

SWELLのフィルターフックの使い方については別記事で解説してます。

add_filter('swell_pickup_post_args',function($query_args){
//var_dump($query_args);
$query_args['post_type']='xxxx';
return $query_args;
});

まとめ:SWELL TOPページの記事スライダーにカスタム投稿を表示する

誰かからの要望があったのでしょうか、SWELLにしては珍しいことにフックが仕込まれていたので簡単にカスタマイズできました。

SWELLのフォーラムは要望に対してはほぼスルーされます。しかし、作者は簡単に導入できるものはホイホイ組み入れる傾向があり、いつの間にか組み込まれていることは珍しくありません。

SWELLのTOPページの記事スライダーにカスタム投稿を表示できますか?

SWELLのカスタマイズを行わないと、TOPページの記事スライダーにカスタム投稿を表示することはできません。

SWELLのTOPページの記事スライダーにカスタム投稿を表示するのに必要なカスタマイズは?

SWELLのswell_pickup_post_argsフックで使用して、スライダーに表示する投稿タイプを指定します。

他の人にもシェアしてね
コメントを閉じる

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

クリックできる目次