web-dev-qa-db-ja.com

Wp_list_pagesを使用して、サブメニューをグループに分けて表示できますか?

トップレベルの(親のない)ページがフルーツ動物自動車であるとします。

たとえば、フルーツが選択されている場合は、下の個々のフルーツページへのリンクを表示します。これらの果物(または動物、または)をいくつかのグループに分けて払いたいのですが果物の各グループの間にスペースがあります。

+---------------+-----------+--------+
|   Fruit       |  Animals  |  Cars  |
+---------------+-----------+--------+   
|   Apple       |           |        |
|   Kiwi        |           |        |
|   Watermelon  |           |        |
+---------------+-----------+--------+  
|   Banana      |           |        |
|   Lemon       |           |        |
+---------------+-----------+--------+  
|   Strawberry  |           |        |
|   Raspberry   |           |        |
+---------------+-----------+--------+  

この場合は、フルーツを色で大まかに分けて、間にスペースを入れて見ることができます。 または動物の場合は、別の基準になる可能性があります。この基準は、どこにでも明示的に名前を付ける必要はありません。だから私はこのリストを出力する方法を考えていました。バックエンドでページを入力する人に技術的な能力をほとんど必要としない方法で。

現時点では、これを実行して子ページを出力します。

if( $post->post_parent )
    $children = wp_list_pages('depth=1&title_li=&child_of='.$post->post_parent.'&echo=0'); 
else
    $children = wp_list_pages('depth=1&title_li=&child_of='.$post->ID.'&echo=0');

echo $children;

しかし、wp_list_pagesを使用して、出力をカテゴリなどに限定する方法はありません。私が見ることができる最も近いのは 'authors'オプションですが、メニューに異なるブロックを作成するために異なるユーザーとしてログインすることはあまり意味がありません...

5
cannyboy

あなたは多分そのような木を使うことを選ぶことができます:

  • フルーツ
    • カラー1
      • 林檎
      • スイカ
    • カラー2
      • バナナ
      • レモン
  • レベル1
    • レベル2
      • レベル3

このようにして、あなたはあなたのテーマの中で、第2レベルを隠すことができます。

それが役立つことを願っています。

1
Mat_

最近、wp_list_pages()がかなり制限されているという問題がありました。

そこで私はその関数のカスタムバージョンを作成して私のブログに公開しました@ codeFX.biz

この機能に基づいて、あなたは何でもすることができます - まったく制限されることなく。

0
Martin Zeitler

(マイクが提案したように)メニューシステムを使うのであれば、分離したいメニュー項目にクラスを設定することができます。

あなたの例では、それはちょっとのように見えるでしょう:

  • 林檎
  • キウイ
  • スイカ(クラス=別)
  • バナナ
  • レモン(クラス=別)
  • イチゴ
  • ラズベリー

そして、必要に応じて、下の境界線、下の境界線、またはその両方を使用して個別のクラスをスタイルすることもできます。

そして、単純なセパレーターだけでは満足できない場合は、緑色、黄色、赤色などのカラークラスを追加して、それらをすべてのメニュー項目に追加できます。今回は、すべての李をその色の背景でスタイル設定できます。

メニューシステムでクラス項目が見つからない場合は、画面オプション>をクリックしてください。詳細メニュープロパティを表示します。 >CSSクラス

0