- 「フォーラムガイドライン」に必ず目を通してください。
- バージョンアップデート後に表示がおかしくなった場合は、
「SWELL設定」>「リセット」からキャッシュクリアを先にお試しください。 - フォーラム内検索で過去に同じようなトピックがないか検索してみてください。
フォーラム
ローカル環境でサイト構築をしているので、URLがダミーになっております。
SWELLのオリジナルフック”swell_related_post_args”で、
複数のカスタム投稿を指定し、
それぞれのカスタム投稿に対応した関連記事を表示させる方法
例>
仮にカスタム投稿タイプを3つ作ったとします。
カスタム投稿タイプ "honda"
カスタム投稿タイプ "toyota"
カスタム投稿タイプ "mazda"
かんたさんのSWELL MANIAの説明と、過去のフォーラム記事を参考に
function example01 ($args){ if (is_singular( 'honda' )){ $args['post_type'] ='honda'; return $args; } } add_filter( 'swell_related_post_args','example01' );
をfunction.phpに記載すると、
カスタム投稿タイプ"honda"の関連記事は、"honda"内から表示されるようになりました。
この後、
カスタム投稿タイプ"toyota"の記事ページ下部の関連記事を"toyota"内から
カスタム投稿タイプ"mazda"の記事ページ下部の関連記事を"mazda"内から
としたいのですが、僕の知識では解決に至りませんでした。
同じコードを、関数とスラッグのみ変更し、上記コードの下に追加で2つ記載しても、一番下に記載したモノが反映されるだけで、他の関連記事は通常投稿の関連記事となりました。
解決策をご教授頂けると嬉しいです。
※コードに関する質問ですが、SWELLのフックの使用方法なので質問させて頂きました。
CPT UI
PHPの書き方の話になってきますね。
3回同じような処理を書いても一番最後のものになりますので、一つの処理の中で条件分岐で今のカスタム投稿タイプに合わせてクエリをセットするようにしてみてください。
SWELL開発者です。
了さま
ヒントを頂きありがとうございます。
一つの処理の中で条件分岐で今のカスタム投稿タイプに合わせてクエリをセット
現状なにも分からない状態ですが、調べて挑んでみます。
ありがとうございました。
早速ですが解決しましたので下記に方法を記しておきます。
なお、プログラム未経験者がググって得た情報で実現しておりますので、
本質的に正解なのかは不明ですが、動作自体は思い通りのものになりました。
「複数のカスタム投稿タイプ毎に、記事下の関連記事を対応した関連記事に表示させる方法」
【前提】
Custom Post Type UIでカスタム投稿タイプを複数作成
● post_1
● post_2
● post_3
とします。
【目標】
「post_1の記事下関連記事にはpost_1から抽出」
「post_2の記事下関連記事にはpost_2から抽出」
「post_3の記事下関連記事にはpost_3から抽出」
設定をしないと、全て"通常投稿”の記事から関連記事が抽出されます
【方法】あくまでも素人調査によるものです。
SWELLテーマに用意されているフックを利用します。
フック:swell_related_post_maxnum
投稿タイプが1つだけの場合(post_1)だったとすると
function example01 ($args){ if (is_singular( 'post_1' )){ $args['post_type'] ='post_1'; return $args; } } add_filter( 'swell_related_post_args','example01' );
でOKでした。
投稿タイプが複数ある場合は、了さんのヒントの通り条件分岐をする必要がありました。
以下コードです。
function example01 ($args){ if (is_singular( 'post_1' )){ $args['post_type'] ='post_1'; return $args; } elseif (is_singular( 'post_2' )){ $args['post_type'] ='post_2'; return $args; } elseif (is_singular( 'post_3' )){ $args['post_type'] ='post_3; return $args; } } add_filter( 'swell_related_post_args','example01' );
これで、各投稿タイプに関連した関連記事が記事下に表示されるようになりました。
"elseif"を使用
【最後に】
このカスタムを進めるために1週間ほど奮闘しておりましたが、
フォーラムのチカラを借りてヒントを頂き、すぐに解決できました。
ありがとうございました 😀
カスタム投稿関連のカスタマイズは困ってる方が多いと思いましたので、ココに解決方法を記載させて頂きます。
また質問する事があると思いますが、その時はよろしくお願いいたします。