創作・同人サイトに特化した多機能WordPressテーマ › フォーラム › カスタマイズに関する質問 › 特定のアーカイブページだけ逆順にしたい
- このトピックは空です。
-
投稿者投稿
-
-
ひのゲスト
お世話になります。
現在、自動生成されるアーカイブページについて、「作品」のみ日付昇順になるようにして、見出し代わりにしています。
function change_old( $query ) {
if( $query->is_tax() ) {
$query->set(‘order’, ‘ASC’);
$query->set(‘orderby’, ‘date’ );
}
}
add_action( ‘pre_get_posts’, ‘change_old’ );この方法では、すべての作品タイプが昇順になってしまいますが、イラストなど一部の作品タイプは降順で表示したいと考えています。
調べてみても、特定のアーカイブページだけを日付降順にする方法が分かりません。
Wordpressの仕様上そもそも不可能なのでしょうか。
どなたかアドバイスいただけますと幸いです。 -
佐高ゲスト
知識のない素人で申し訳ないのですが気になったので調べてみましたところ、二行目のis_taxのところを条件指定すればいけそうです。
EASELは作品タイプのタクソノミーがcustom_cat、タームは個別のスラッグ名になっていると思います。
そのため、たとえば作品タイプが小説(スラッグはtext)のアーカイブページはis_tax(‘custom_cat’, ‘text’)となるのかなと思います。それをひの様の書かれているコードに反映させると以下のようになります。
function change_old( $query ) {
if( $query->is_tax(‘custom_cat’, ‘text’) ) {
$query->set(‘order’, ‘ASC’);
$query->set(‘orderby’, ‘date’ );
}
}
add_action( ‘pre_get_posts’, ‘change_old’ );他の作品タイプをご使用でしたら二行目のtextの部分を該当のスラッグに変更すれば大丈夫かと思います。
自分のローカル環境で確かめてみたらこれで変更できたのですが、あまり自信はないので、まずテスト環境等で試してみていただけますと幸いです。
-
ひのゲスト
佐高様
ご返信ありがとうございます。
お教えいただいたコードに書き換えたところエラーが出てしまったのですが、佐高様はご変更できたとのことですので、試行錯誤してみようと思います。 -
佐高ゲスト
もしかしたらフォーラムかブラウザの文字表示の関係で、そのままコピペするとシングルクオォーテーションがアポストロフィになってしまっているかもしれません。その場合は全てのアポストロフィをシングルクォーテーションに変更する必要があります。
また、他のエラーの可能性としては、編集しているうちに意図しない空白や改行が入ってしまった、プラグインや他のプログラムとアクションフックの関数名が被ってしまったなどが考えられますので、そちらもご確認いただけましたら幸いです。無事にひの様がカスタマイズをできるように願っております。
-
-
投稿者投稿