グループA:階層型のカスタム投稿タイプを利用する。
グループB:固定ページを利用する。
のがよいと思います。
グループA
<?php wp_list_pages('post_type=product&title_li='); ?>
グループB
<?php wp_list_pages('title_li='); ?>
あー、でも製品ページが既にできているならひと手間かかりますね。自己却下します。
こんにちは
wp_list_pages()は、カスタムフィールドでフィルタできます。
カスタムフィールドのキー like だけ表示する例
wp_list_pages(
array(
'meta_key'=> 'like',
)
);
とか
wp_list_pages(
array(
'meta_key'=> 'like',
'meta_value'=> 'train'
)
);
pluto1234様、ご協力ありがとうございました。
nobita様、ありがとうございます。
固定ページでカスタムフィールドが出ておらず、表示方法を忘れてあわてておりましたが、
思い出しました!「表示オプション」でした。
ただ、カスタムフィールドは出せたのですが、「名前」欄にアルファベットで名称を付けて
保存したら、「カスタムフィールドの値を入力してください。」と出て、完了できませんでした・・・
名前だけあればいいのに、値というものも入れろと強制されてもと困ってしまいました。
ここには何を入れればいいのでしょうか? 値なんて要らないのになんでだろ・・・
キーと値がセットというのが、カスタムフィールドの、お約束です。
値を使わないなら、キーとおんなじ値とかでいいと思います。
nobita様、そうですか、何でもいいのですね、ありがとうございます。
よって、「値」に適当にaaaとか入れて保存したら保存ができました!
しかし、ご案内いたいだいた一つ目のwp_list_pagesのソースを入れてみましたところ、
「固定ページ」というテキストが、リンクの上に勝手に出力されており、サイドバーナビゲーションのデザインが台無しに苦笑。
これはなんでしょうか。どうやって消せばいいでしょうか?
ソースは以下でした。
<ul>
<li class="pagenav">固定ページ
<ul>
<li class="page_item page-item-291 current_page_item"><a href="http:/mysite.jp/event01">イベント1</a></li>
</ul>
</li>
</ul>
度々申し訳ありません。何卒宜しくお願い致します。
リストの見出しを隠す、変える
wp_list_pages が表示するページリストのデフォルトの見出し (「ページ」) は title_li パラメータに空の値を入れると表示しなくすることができます。以下の例はページリストの上に見出しのテキストを表示しません。
<ul>
<?php wp_list_pages('title_li='); ?>
</ul>
上記を拝見して、pluto1234様のソースを見て、
自分なりに理解して以下のようにやってみたところ、
<ul>
<?php
wp_list_pages(
'title_li=',
array (
'meta_key'=> 'event',
)
);
?>
</ul>
「固定ページ」というテキストは消えました!
が、なぜかカスタムフィールドで登録した「event」の固定ページだけ表示されるようにならず、
なぜでしょうか・・・全ての固定ページが表示されてしまい、ます・・・
落ち着いて、覚えどころです
<ul>
<?php
wp_list_pages(
array (
'title_li=' => '',
'meta_key'=> 'event',
)
);
?>
</ul>
本当にありがとうございます。。。
ソースを入れたら狙った固定ページだけ出力されました!
がしかし、「固定ページ」というテキストが出なくもなったのですが、
その代わりその場所に50ピクセル以上の空白が出来てしまっております・・・
グループごとに見出しタイトル画像を入れていますので、
見出しタイトル画像と固定ページリンクとの間に50ピクセル以上の空白が
出来ているのです・・・
うぅ~む・・・
arrayの中に入れるのですか・・・
素人から見ると驚きました。
‘title_li=’ => ”,
これは、非表示の方が空よりも大きかったら、という意味でしょうか??
さっぱり意味がわかりませんで・・・
何故arrayという配列の中に入れるかもわかりませんし、
たった少量のプログラミングであっても、基礎が無いので全く理解できません・・・
済みません・・・
> 見出しタイトル画像と固定ページリンクとの間に50ピクセル以上の空白が出来ているのです・・・
こちらはHTMLソースの中でulタグが閉じられていなかったなどのことがあり、
それを解消したらなくなりました。
しかし、おかしなことに、以下のご指示のソースを入れているにも関わらず、
空白は消えたものの、「固定ページ」とやはり出ます。
<ul>
<?php
wp_list_pages(
array (
'title_li=' => '',
'meta_key'=> 'event',
)
);
?>
</ul>
‘title_li=’ => ”,
がちゃんと入っているのに「固定ページ」が除外されてくれません・・・
いただいたソースに間違いがあるようですがどこでしょうか・・・
ところで、
「=>」
というのは比較演算子には無いようですし、検索しても出てこないのですが
これはWordPress専用の言い回しなのでしょうか? CODEXのwp_list_pagesのページには頻繁に出てきますが・・・
出来てしまいました。。
nobita様に案内頂いたソースではあれこれいじってもダメでした。
ダメだっただけでなく意味そのものもわかりませんでした。なぜ配列のarrayが必要なのかもわかりません。「=>」もわかりませんでした。
仕方なく全く違うソースにしてみて、ああでもないかこうでもないかといじりたおしていたところ、なぜかわかりませんがうまくいってしまったようです(なぜできたのだぁ??)。
それとも、見た目は希望どおりなっているけれど、実際はどこかに問題があって使ってはならない記述方法だったとか??汗;
ところで、
「=>」
というのは比較演算子には無いようですし、検索しても出てこないのですが
これはWordPress専用の言い回しなのでしょうか? CODEXのwp_list_pagesのページには頻繁に出てきますが・・・
http://php.net/manual/ja/language.types.array.php
nobita様、ありがとうございます、配列への代入をおこなうときの記載方法なのですか。
ただ、wp_list_pagesでは&でパーツを接続すればそれでいいように書いてあるのに
なぜ配列が必要になるのか、ノンプログラマの当方では理解の外でした・・・
この場合は配列の方が良いとか何かプログラムならではの理由があるのでしょうね。
この度は誠に有難う御座いました。
array方式もそうでない方式も同じなのですか。そうですか安心いたしました。
どうもありがとうございました。