• 解決済 n155108

    (@n155108)


    ※HPは解決次第削除させていただきたいので,
     Googleドライブドキュメント経由になります。

    news,workshop,studyのカテゴリがあり,
    カテゴリごとにテンプレートを変更する記述をcategory.phpへ
    <?php
    /*
    Template Name: category
    */
    if ( in_category(‘5’) ) {
    include(TEMPLATEPATH . ‘/category-ws.php’);
    } else if ( in_category(‘6’) ) {
    include(TEMPLATEPATH . ‘/category-sd.php’);
    } else if ( in_category(‘1’) ) {
    include(TEMPLATEPATH . ‘/category-nw.php’);
    } else {
    include(TEMPLATEPATH . ‘/category-nml.php’);
    }
    ?>
    このように記述をしているのですが,
    newsのページを見ると,
    投稿記事のカテゴリがworkshopとnewsの両方のカテゴリにチェックを入れていれると
    /category-ws.phpのテンプレートで表示されてしまいます。

    更新履歴として,newsのカテゴリを表示したときには
    /category-nw.phpのテンプレートを読み込んでほしいのです。

    newsとstudyの両方にチェックを入れている記事は正常に/category-sd.phpを読み込むのに,
    newsとworkshopの両方にチェックを入れてしまうと/category-ws.phpが読み込まれます。

    newsのカテゴリページでは/category-nw.php
    workshopのカテゴリページでは/category-ws.php
    studyのカテゴリページでは/category-st.php
    というように表示させたいです。

    どのように記述すれば可能なのでしょうか。
    ”且つ”といった表現もわからず,なおかつstudyは正常に表示されるので
    原因がわからず困っています。

    わかる方よろしくお願いします。

    ちなみにカテゴリIDは
    news : 1
    workshop : 5
    study : 6
    です。

    • このトピックはn155108が5年、 5ヶ月前に変更しました。

    ヘルプの必要なページ: [リンクを見るにはログイン]

13件の返信を表示中 - 1 - 13件目 (全13件中)
  • こんにちは

    in_category() は、現在の投稿に指定したカテゴリーが割り当てられているか判定します。
    カテゴリーページ(カテゴリーアーカイブ)のカテゴリーは is_category() で判定できます。

    • この返信は5年、 5ヶ月前にishitakaが編集しました。
    トピック投稿者 n155108

    (@n155108)

    回答ありがとうございます!

    in_category() の記述を is_category() に変更してみたのですが,ページが表示できませんと表示されるようになり,記述について混乱しています・・・。

    単にinをisに変えるだけでは使い方が違うのでしょうか。

    単にinをisに変えるだけでは使い方が違うのでしょうか。

    はい、is_category() に変えるだけでいいと思いますが・・・

    デバッグモードで、エラーメッセージを確認してみてください。
    http://wpdocs.osdn.jp/WordPressでのデバッグ

    トピック投稿者 n155108

    (@n155108)

    ありがとうございます。
    遅くなりましたが,現在デバックモードを有効にしてみて,
    inをisに変更してアップロードしました。

    このページを表示できませんの画面は表示されなくなりましたが,
    ページを開いても真っ白で,エラーの内容が表示されない状態です。

    よろしくお願いします。

    URLのHPをご覧頂けるとわかるのですが,
    現在isではなくinを使用して表示されているので,
    原因がわからないです。

    なんとか解決したいので,伝授いただきたいです。
    お忙しい中ご協力いただきありがとうございます。

    inをisに変更してアップロードしました。

    FTP などでアップロードしたのでしょうか?

    テーマエディター(管理画面のメニューより、[外観]-[テーマエディター])で編集してみてはどうでしょうか?

    下記でどうでしょうか?(inでだめならisにしてください)
    どの場合にどれを読み込ませたいのかよくわからず、またテンプレートファイル名もまちまち(stとsd)なので、テンプレートファイル名はご自身でご指定ください。

    <?php
    /*
    Template Name: category
    */
    if ( in_category(‘1’) && in_category(‘5’) && in_category(‘6’) ) {
    include(TEMPLATEPATH . ‘/news,workshop,studyすべてのカテゴリに属するもの用のテンプレートファイル名’);
    } else if ( in_category(‘1’) && in_category(‘5’) ) {
    include(TEMPLATEPATH . ‘/news,workshopの両方のカテゴリに属するもの用のテンプレートファイル名’);
    } else if ( in_category(‘1’) && in_category(‘6’) ) {
    include(TEMPLATEPATH . ‘/news,studyの両方のカテゴリに属するもの用のテンプレートファイル名’);
    } else if ( in_category(‘5’) && in_category(‘6’) ) {
    include(TEMPLATEPATH . ‘/workshop,studyの両方のカテゴリに属するもの用のテンプレートファイル名’);
    } else if ( in_category(‘1’) ) {
    include(TEMPLATEPATH . ‘/newsのみに属するもの用のテンプレートファイル名’);
    } else if ( in_category(‘5’) ) {
    include(TEMPLATEPATH . ‘/workshopのみに属するもの用のテンプレートファイル名’);
    } else if ( in_category(‘6’) ) {
    include(TEMPLATEPATH . ‘/studyのみに属するもの用のテンプレートファイル名’);
    } else {
    include(TEMPLATEPATH . ‘/いずれにも属さないもの用のテンプレートファイル名’);
    }
    ?>
    トピック投稿者 n155108

    (@n155108)

    FTPでアップロードしていました。
    テーマエディターでcategory.phpを開いたところ,
    アップロードされている内容と異なる記述になっており,
    何かうまくいかなかったようです。変更が保存されていないかもしれません。手動で修正し、FTP 経由でファイルをアップロードすることもできます。
    と表示され,更新できないようです。

    トピック投稿者 n155108

    (@n155108)

    ありがとうございます。

    一度記述していただいた内容を試してみます。
    また,結果追って投稿させていただきます。

    何かうまくいかなかったようです。変更が保存されていないかもしれません。手動で修正し、FTP 経由でファイルをアップロードすることもできます。

    WAF でブロックされたのかもしれません。
    https://lolipop.jp/manual/user/waf-set/

    トピック投稿者 n155108

    (@n155108)

    皆様ありがとうございました。
    無事に思うように表示されるようになりました。
    プラグインを一度すべて無効化にして,WAFの設定を無効にしてアップロードし直すと
    無事に表示されるようになりました。
    本当にご協力頂いて感謝の限りです。

    <?php
    /*
    Template Name: category
    */
    if ( is_category('5') ) {
      include(TEMPLATEPATH . '/category-ws.php');
    } else if ( is_category('6') ) {
      include(TEMPLATEPATH . '/category-sd.php');
    } else if ( is_category('1') ) {
      include(TEMPLATEPATH . '/category-nw.php');
    } else {
      include(TEMPLATEPATH . '/category-nml.php');
    }
    ?>

    ちなみにこちらのサイト,スマートフォンで見ると,
    スマホ向け表示が無いので,全体を表示させたいのですが,
    左の部分だけが表示され,右にスライドさせると右が見れる状態で,
    アクセスした時点でコンテンツのある部分全体が縮小されて表示されないのですが,
    何の設定が邪魔をしているか分かったりしますでしょうか。

    コンテンツのある部分を縮小して全体が表示されるのが理想なのですが…
    (できれば左右の余白も均等に設定したい)

    上下のライン(フッダー部分とヘッダー部分)もPCで見ると端から全体に色がついているのですが,スマートフォンから見ると途中で切れてしまっていることも気になっています。

    以前こちらを作成した方が大元を作成したのですが,
    それに加えて少しメニューを増やした関係で表示がおかしくなり,
    どこに設定があるのか手探り手探りで初心者ながらやっているので,
    今回の力添えは本当にありがたかったです。

    もしおわかりになれば教えていただけると幸いです。

    Cudazi Mono テーマというものが、どのようなテーマ(有償?)なのか不明で詳細が分かりません。
    提供元に、問い合わせてみてはと思います。

    なお、複数の質問を、ひとつのトピックでされると回答が冗長になったり複雑になり易く混乱を招くことになるので、質問ごとにトピックを上げるといいかと思います。

    DRILL LANCER

    (@rickaddison7634)

    横から失礼します。
    Cudazi Monoなら無償で手に入るようです。
    ただし、テーマファイル以外にも説明書等があるようです。

    トピック投稿者 n155108

    (@n155108)

    ご指摘ありがとうございます。

    最初提示した問題は解決されたので,
    解決済みとして,再度トピックを作りたいと思います。

    問題解決へ尽力して頂いた方,
    本当にありがとうございました!

13件の返信を表示中 - 1 - 13件目 (全13件中)
  • トピック「カテゴリごとにテンプレートを変更する記述について」には新たに返信することはできません。