• 解決済 heysister721

    (@heysister721)


    [ O S ] Windows 10
    [Server] XAMPP 7.3.22
    [ PHP ] 7.4.10
    [ D B ] MariaDB 10.3.15
    [ W P ] 5.5.1-ja

    
    $cat = get_the_category();
    

    を用いてカテゴリー名を抽出し、指定するワードと一致する時は”1”を出力(表示)し、不一致のときには”0”を出力したいと考えています。

    カテゴリーの構造は、
    親CAT[0]
    └ 子CAT[0]
    └ 子CAT[1]
    └ 子CAT[2]
    親CAT[1]
    └ 子CAT[0]
    └ 子CAT[1]
    └ 子CAT[2]
    のようになっています。

    やりたいこととしては、『親CAT[0]にある子CAT[0]に属していたら”1”を、属していなければ”0”を表示』といったものを、テーブルのセルに埋め込みたいと思っています。

    もし、get_the_category(); の抽出結果が子CATの’名前’になってしまうのであれば、IF分岐でカテゴリ名と指定ワードの一致で判定しようと考えています。

    現在はこのようなコードを書いてみたのですが動作しませんでした。

    
    <?php $cat = get_the_category(); ?>
    <?php if($cat[0][0]){ echo "1"; } else { echo "0"; } ?>
    

    子CATは連続処理の必要はなくて、子CAT[0-6]=”1″or”0″の結果を個別セルで実行する形式で構いませんので、ご教授いただきたくよろしくお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック投稿者 heysister721

    (@heysister721)

    【参考サイト】
    https://gimmicklog.com/wordpress/610/

    参考にしたページをもとに、下記のようにコードを入れ込むと、カテゴリの一覧が表示されるようになりました。

    
    <?php $cats = get_the_category(); ?>
    <?php foreach($cats as $cat): ?>
    <?php if($cat->parent) echo $cat->cat_name; ?>
    <?php endforeach; ?>
    

    上記のコードのままだと、

    親CAT[0]
    ┗ 子CAT[0]★
    ┗ 子CAT[1]★
    ┗ 子CAT[2]
    親CAT[1]
    ┗ 子CAT[0]
    ┗ 子CAT[1]★
    ┗ 子CAT[2]

    のカテゴリ設定で、★印のカテゴリを選択(設定)していた場合には、

    『親CAT[0]子CAT[0]』『親CAT[0]子CAT[1]』『親CAT[1]子CAT[1]』のカテゴリ名が表示されました。

    当初の質問内容と若干異なってしまいますが、

    1番目のセルに『子CAT[0]が未チェックなら’0’、チェック済なら’1’』
    2番目のセルに『子CAT[1]が未チェックなら’0’、チェック済なら’1’』
    3番目のセルに『子CAT[2]が未チェックなら’0’、チェック済なら’1’』

    のような表にしたいと考えています。

    トピック投稿者 heysister721

    (@heysister721)

    ある程度の期間を置きましたが、お返事がいただけなかったので、一度取り下げます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「カテゴリー名の抽出について」には新たに返信することはできません。