初心者向けのWordPressテーマを使用した倒錯(パート2)-query_posts

おかげで同志 Habréに投稿する際の既存の規則や規制に目を開いた波括弧。 掘り下げますが、今のところは、WordPressとテーマに関する記事の第2部です。



クエリの投稿



ページにどのメッセージをいつ表示するかを自分で決定しますか? どのレコードが返されるかを決定する奇跡のquery_posts関数があるため、これ以上単純なものはありません。 この関数は、指定された基準に従って投稿を選択するフィルターとして機能します。 これで、例によってすべてがより明確になり、その後、既存のパラメーターのほとんどを単純にリストします。その後、すべてが想像力に制限されます。



最近のエントリーのリスト



この機能を実行する標準ウィジェットの存在についておそらくご存知でしょうが、他の場所にエントリのリストを表示したい場合はどうでしょうか?

  <?php query_posts( 'showposts = 5');  ?>
 <ul>
   <?php while(have_posts()):the_post();  ?>
       <li> <a href="<?php the_permalink() ?> "> <?php the_title();  ?> </a> </ li>
   <?php endwhile;?>
 </ ul> 


コードからわかるように、5に等しいshowpostsパラメーターをquery_posts関数に渡しましたが、英語の専門家でなくても、5つの投稿が表示されることは明らかです。 これらは、デフォルトで発行日(最後から最初)でソートされます。 the_permalink()-投稿へのリンクを提供し、the_title()-タイトルを提供します。



特定のカテゴリのN投稿



タスクを少し複雑にしましょう-ID 2のカテゴリから最後の5つの投稿を表示します。

  <?php query_posts( 'cat = 2&showposts = 5');  ?>
 <ul>
   <?php while(have_posts()):the_post();  ?>
     <li> <a href="<?php the_permalink() ?> "> <?php the_title();  ?> </a> </ li>
   <?php endwhile;?>
 </ ul> 


すべてが単純なものよりも単純です-わずか6文字、どのような効果、どのような範囲:-)説明は不要だと思うので、次に進みましょう



出力からエントリを除外する



特定のカテゴリ(たとえば、ID = 3)があり、その投稿がメインのカテゴリに表示されないようにするため、リストから削除することで記号「-」(マイナス)を削除します。

  <?php query_posts( 'cat = -3');  ?>
 <?php while(have_posts()):the_post();  ?>
   //ここが標準出力です
 <?php endwhile;?> 




視野の拡大または利用可能なオプションのリスト



この小さくても強力なquery_posts関数の魅力を評価していただけたと思います。コード内でより深く研究することはできますが、役立つと思われるパラメーターをリストできます。

catおよびcategory_name -IDまたは名前による見出しの選択、見出しを除外する方法-上記を参照してください。

ヒント :複数のカテゴリーを渡す必要がある場合、 cat = 1&cat = 2を数回書く必要はありません。カテゴリーをコンマcat = 1,2で区切ってリストするだけで十分です。 ちなみに、この手法は、複数の値を取ることができるすべてのパラメーターに適用されます。

authorおよびauthor_name-特定の著者の投稿、ID( author = 3 )および名前( author_name = Tapac )。

p名前 -IDp = 5 )または短縮名( name = this_post_slug )で投稿を選択します。

page_idpagenameは同じですが、ページのみです。

showposts-表示されたときに表示するフィルターされた投稿/ページの数。

一時的( monthnum )-指定された期間の投稿。

paged-このパラメーターを使用すると、「前のページ」リンクをクリックすると通常利用できる投稿を表示できます。 paged = 2は、過去2ページを巻き戻しているかのように投稿を表示します(ページあたり10件の投稿を表示する場合、出力で21から30のレコードを取得します)。

posts_per_page-ページごとの投稿数。 前のパラメーターとうまくグループ化されています。

order-日付によるソート順; ASK値を受け入れます-古いものから新しいものまたはDESC-新しいものから古いもの(デフォルト)。

オフセット -いわゆる インデント。 特定の数のレコードをスキップ(シフト)します。



サブカテゴリを表示する



今日の投稿の最後で、WordPressをCMSとして使用するときに役立つトリックを紹介します。

遠くから始めます。vzldd(情報-Dmitry)がicqで私に来て、映画のサイトを手伝ってくれるように頼みました。 私は、2つの大きな見出しを開始し、既存の見出しを子会社として散在させるようにアドバイスしました。 次に、次のコードをテンプレートに挿入することを提案しました。

  <ul>
 <?php wp_list_categories( 'child_of = 12345');  ?>
 </ ul> 


、ここで12345は親カテゴリのIDです(例では、ダウンロード)。

しかし、この方法で出力する場合、親セクションの名前の見出しがリストの前に表示されたので、手で個別に指定したかったのです。 コードをさらに掘り下げます。

  <ul>
 <?php wp_list_categories( 'child_of = 12345&title_li =');  ?>
 </ ul> 


理論的には、タイトルなしでリストを取得する必要がありますが、実際には、「見出しなし」という碑文を持つ空のリストを取得します。 変なの? はい、その言葉ではありませんが、wp_list_categoriesの構文とパラメーターに関するコードをもう少し読むと、そのような行が見つかります

「パラメーター(child_of)が使用される場合、hide_emptyパラメーターはfalseに設定されます。」

、つまり hide_emptyパラメーター(投稿がない場合に見出しを表示することを許可または禁止します)は、自動的にモードに切り替えます-すべてを表示します。 次に、選択したもののすべての子カテゴリを表示するスクリプトの最終バージョンを示します。

  <ul>
 <?php wp_list_categories( 'hide_empty = 0&child_of = 12345&title_li =');  ?>
 </ ul> 





オリジナル記事「初心者向けのWordPressテーマを使用したバージョン(パート2)-query_posts」



All Articles