• 解決済 gapel

    (@gapel)


    全ページにおいてサイドバーがあり、各ページのテキストリンク群があります。
    ここを現在、教えていただいた「wp_list_pages」という記述方式で、自動的に出力させております。

    ここの出力を少し変更したいのですが、それをおこなうにはどうやればいいかを質問致します。

    このサイドバーのテキストリンク群を二つのグループに分けたく存じます。

    一つ目のグループAには製品紹介のページたちを出力し、
    二つ目のカタマリにはグループBを置き、そこには製品紹介以外のページのうち、
    とある切り口のページたちだけを出力させたいのです。

    ちなみに現在、
    <?php wp_list_pages(‘title_li=&exclude=0,15’); ?>
    などというような記述をおこなっております。

    例えば、すべての固定ページにグループ名となる名称を登録しておいて、
    「このグループだけを出力せよ」という指示を出すようにするとか、
    何か方策があればご教示いただければと存じます。

    宜しくお願い致します。

15件の返信を表示中 - 1 - 15件目 (全15件中)
  • グループ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'
     )
    );

    トピック投稿者 gapel

    (@gapel)

    pluto1234様、ご協力ありがとうございました。

    nobita様、ありがとうございます。
    固定ページでカスタムフィールドが出ておらず、表示方法を忘れてあわてておりましたが、
    思い出しました!「表示オプション」でした。

    ただ、カスタムフィールドは出せたのですが、「名前」欄にアルファベットで名称を付けて
    保存したら、「カスタムフィールドの値を入力してください。」と出て、完了できませんでした・・・

    名前だけあればいいのに、値というものも入れろと強制されてもと困ってしまいました。
    ここには何を入れればいいのでしょうか? 値なんて要らないのになんでだろ・・・

    キーと値がセットというのが、カスタムフィールドの、お約束です。
    値を使わないなら、キーとおんなじ値とかでいいと思います。

    トピック投稿者 gapel

    (@gapel)

    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>

    度々申し訳ありません。何卒宜しくお願い致します。

    http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_list_pages

    見てください

    pluto1234さんは、既に、答えを書いてくれてますよ

    トピック投稿者 gapel

    (@gapel)

    リストの見出しを隠す、変える
    
    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>
    トピック投稿者 gapel

    (@gapel)

    本当にありがとうございます。。。

    ソースを入れたら狙った固定ページだけ出力されました!
    がしかし、「固定ページ」というテキストが出なくもなったのですが、
    その代わりその場所に50ピクセル以上の空白が出来てしまっております・・・
    グループごとに見出しタイトル画像を入れていますので、
    見出しタイトル画像と固定ページリンクとの間に50ピクセル以上の空白が
    出来ているのです・・・

    うぅ~む・・・

    arrayの中に入れるのですか・・・
    素人から見ると驚きました。

    ‘title_li=’ => ”,
    これは、非表示の方が空よりも大きかったら、という意味でしょうか??
    さっぱり意味がわかりませんで・・・
    何故arrayという配列の中に入れるかもわかりませんし、
    たった少量のプログラミングであっても、基礎が無いので全く理解できません・・・
    済みません・・・

    トピック投稿者 gapel

    (@gapel)

    > 見出しタイトル画像と固定ページリンクとの間に50ピクセル以上の空白が出来ているのです・・・

    こちらはHTMLソースの中でulタグが閉じられていなかったなどのことがあり、
    それを解消したらなくなりました。
    しかし、おかしなことに、以下のご指示のソースを入れているにも関わらず、
    空白は消えたものの、「固定ページ」とやはり出ます。

    <ul>
    		<?php
    		wp_list_pages(
    			array (
    			'title_li=' => '',
    			'meta_key'=> 'event',
    			)
    		);
    		?>
    		</ul>

    ‘title_li=’ => ”,
    がちゃんと入っているのに「固定ページ」が除外されてくれません・・・
    いただいたソースに間違いがあるようですがどこでしょうか・・・

    ところで、
    「=>」
    というのは比較演算子には無いようですし、検索しても出てこないのですが
    これはWordPress専用の言い回しなのでしょうか? CODEXのwp_list_pagesのページには頻繁に出てきますが・・・

    トピック投稿者 gapel

    (@gapel)

    出来てしまいました。。

    nobita様に案内頂いたソースではあれこれいじってもダメでした。
    ダメだっただけでなく意味そのものもわかりませんでした。なぜ配列のarrayが必要なのかもわかりません。「=>」もわかりませんでした。

    仕方なく全く違うソースにしてみて、ああでもないかこうでもないかといじりたおしていたところ、なぜかわかりませんがうまくいってしまったようです(なぜできたのだぁ??)。

    それとも、見た目は希望どおりなっているけれど、実際はどこかに問題があって使ってはならない記述方法だったとか??汗;

    ところで、
    「=>」
    というのは比較演算子には無いようですし、検索しても出てこないのですが
    これはWordPress専用の言い回しなのでしょうか? CODEXのwp_list_pagesのページには頻繁に出てきますが・・・

    http://php.net/manual/ja/language.types.array.php

    トピック投稿者 gapel

    (@gapel)

    nobita様、ありがとうございます、配列への代入をおこなうときの記載方法なのですか。
    ただ、wp_list_pagesでは&でパーツを接続すればそれでいいように書いてあるのに
    なぜ配列が必要になるのか、ノンプログラマの当方では理解の外でした・・・
    この場合は配列の方が良いとか何かプログラムならではの理由があるのでしょうね。
    この度は誠に有難う御座いました。

    なぜ配列が必要になるのか、ノンプログラマの当方では理解の外でした・・・
    この場合は配列の方が良いとか何かプログラムならではの理由があるのでしょうね。

    どっちでも同じなので、好きなほうを使ってください

    分かりにくくしてしまって、わるかったですね

    トピック投稿者 gapel

    (@gapel)

    array方式もそうでない方式も同じなのですか。そうですか安心いたしました。
    どうもありがとうございました。

15件の返信を表示中 - 1 - 15件目 (全15件中)
  • トピック「固定Pageの一部をGroupingしてこれを除外するwp_list_pages」には新たに返信することはできません。