wordpress_PHP チュートリアルの強力な query_posts() 関数
今日はWordPressのメインクエリ関数であるquery_posts()についてお話します。この関数は私が作成しているテーマで何度も使用しているためです。
query_posts() クエリ関数は、WordPress のメイン ループ (ループ) に表示される投稿を決定します。このため、query_posts 関数は、ページ上に二次ループを生成するのではなく、ホームページ ループ (ループ) を変更するためにのみ使用されます。メイン ループの外側に追加のループを生成する場合は、新しい独立した WP_Query オブジェクトを作成し、これらのオブジェクトを使用してループを生成する必要があります。メイン ループの外側のループで query_posts を使用すると、メイン ループが偏って実行され、ページ上に表示したくないコンテンツが表示される可能性があります。
query_posts() クエリ関数は多数のパラメーターを受け取り、その形式は URL のパラメーター形式と同じです (たとえば、p=4 は ID 4 の記事を意味します)。ここでは、query_posts 関数の一般的に使用される構文形式の例をいくつか示します。
1. ブログのトップページから特定のカテゴリーを除外します
次のコードをindex.php ファイルに追加して、ホームページに表示される記事がカテゴリ 3 以外のどのカテゴリからでも表示されるようにします。
PHPコード
- if (is_home()) {
- Query_posts("cat=-3"); }
- ?>
-
PHPコード

-
if (is_home()) {
- Query_posts("cat=-1,-2,-3");
- }
- ?>
- 2. 指定した記事をクエリします
指定した記事を取得するには、次のステートメントを使用します:
PHPコード

-
//ID 値 5 のページを取得します
- query_posts('p=5');
- グローバル $more
- //$more を初期化します
- $more = 0;
- // クエリ結果をループします
- while (have_posts()) : the_post();
- the_content('投稿全文を読みますか?'); ついでに
- ?>
-
- 3. 指定したページを取得します
- 指定されたページを取得するには、次のステートメントを使用します: PHPコード
query_posts('page_id=7'); // ページ ID 7 のページを取得します
?>

-
- または PHPコード
?>

-
サブページを取得するときは、サブページとその親ページのエイリアスをスラッシュで区切って指定する必要があります。例:
- PHPコード
- query_posts('ページ名=親/子');

- PHPコード
- query_posts(array(
- '猫' => 22、
- '年' => 現在の年、
- 'monthnum' => $current_month,
- '順序' => 'ASC'、 ;
- ));

以下に、よく使用されるパラメータをいくつか示します。私が使用したこともあれば、使用していないものもあります。
分類パラメータ
特定のカテゴリの記事のみを表示します。
-
猫 - カテゴリ ID を使用する必要があります
- カテゴリ名
- category_and - カテゴリ ID を使用する必要があります
- category_in - カテゴリ ID を使用する必要があります
- category_not_in - カテゴリ ID を使用する必要があります
IDに基づいて単一のカテゴリを表示
特定のカテゴリ ID (およびこのカテゴリの下のサブカテゴリ) の記事のみを表示します:PHPコード

-
query_posts('cat=4');
-
特定のカテゴリ名の記事のみを表示します:
PHPコード

-
- IDに基づいて複数のカテゴリを表示
指定された複数のカテゴリ ID の記事を表示します: PHPコード
query_posts('cat=2,6,17,38');

- 特定のカテゴリの記事を除外します
特定のカテゴリの記事を除くすべての記事を表示します。除外されたカテゴリ ID には先頭にマイナス記号 ('-') が付けられます。 PHPコード
query_posts('cat=-3');

複数のカテゴリを処理します
複数のカテゴリに属する記事を表示します。次のコードは、カテゴリ 2 とカテゴリ 6 の両方に属する記事を表示できます:
PHPコード
query_posts(array('category__and' => array(2,6)));
カテゴリ 2 またはカテゴリ 6 の記事を表示したい場合は、上で紹介した cat を使用するか、category_in 関数を使用できます (カテゴリの下のサブカテゴリの記事はここには表示されないことに注意してください):
- query_posts(array('category__in' => array(2,6)));
次の方法で複数のカテゴリの記事を除外できます:
PHPコード
- query_posts(array('category__not_in' => array(2,6)));
特定のタグの下にある記事を表示します。

- tag ——タグIDを使用する必要があります
tag_and —— タグIDを使用する必要があります
tag_in - タグIDを使用する必要があります
- tag_not_in - タグIDを使用する必要があります
- tag_slug_and - タグIDを使用する必要があります
- tag_slug_in - タグIDを使用する必要があります
- 特定のタグの記事を取得します
- PHPコード
query_posts('タグ=料理');
複数のタグのいずれかで記事を取得します
PHPコード
- query_posts('タグ=パン+パン作り+レシピ');
複数のタグ
ID 37 と 47 のタグに属する記事を表示します:PHPコード

-
query_posts(array('tag__and' => array(37,47));
-
PHPコード

-
query_posts(array('tag__in' => array(37,47));
-
PHPコード

-
query_posts(array('tag__not_in' => array(37,47));
-
作成者のパラメータ
著者に基づいて記事を選択することもできます。
-
著者=3
- author=-3 ——ID 3 の著者によって公開された記事を除外します
- author_name=ハリエット
ID 1 の著者によって公開されたすべてのページを表示し、ページをタイトル順に配置し、ページ リストの上に固定された記事がないようにします:
PHPコード

-
query_posts('caller_get_posts=1&author=1&post_type=page&post_status=publish&orderby=title&order=ASC');
- 記事とページのパラメータ
単一の記事またはページを取得します。
‘p’ => 27 - 記事 ID で記事を表示します
- 「name」 => 「about-my-life」 —— 特定の記事に対するクエリ、クエリには記事のエイリアスが含まれています
- ‘page_id’ => 7 —— ID 7 のページをクエリします
- 「pagename」 => 「about」 —— これはページのタイトルではなく、ページのパスであることに注意してください
- 「posts_per_page」 => 1 を使用します。3 つの記事を表示するには、「posts_per_page」 => 3 を使用します。すべての投稿を表示するには、'posts_per_page' => -1 を使用します
- 「showposts」 => 1 – 3 つの投稿を表示するには、「showposts」 => 3 を使用します。すべての投稿を表示するには、「showposts」 => -1 を使用します。廃止されました。
- ‘post__in’ => array(5,12,2,14,7) ——取得したい記事IDを指定します
- ‘post__not_in’ => array(6,2,8) ——取得したくない記事IDを除外します
- ‘post_type’ => ‘page’ ——ページを返します。デフォルト値は投稿です。使用可能な値には、any、添付ファイル、ページ、投稿、またはリビジョンが含まれます。 any は、リビジョンを除くすべてのページ タイプを取得します。
- 「post_status」 => 「publish」 – 公開されたページを返します。利用可能な値には、保留中、ドラフト、将来、プライベート、ゴミ箱も含まれます。継承の詳細については、「get_children」を参照してください。ゴミ箱ステータスはWordPress 2.9で追加されました。
- ‘post_parent’ => 93 - ページ 93 のサブページを返します。
固定記事パラメータ
固定記事機能は WordPress 2.7 で導入されました。クエリでは、記事が
caller_get_posts=1パラメーターによって除外されていない限り、「トップ」として設定された記事が他の記事よりも前に表示されます。
array('post__in'=>get_option('sticky_posts')) —— すべてのスティッキー投稿の配列を返します- caller_get_posts=1 - 返された記事の上にあるピン留めされた記事を除外しますが、投稿リストを返すときに、ピン留めされた記事を自然な順序でリストに配置します。
最初の固定記事に戻る
PHPコード
$sticky = get_option('sticky_posts');
特定のカテゴリにあるすべての記事を返しますが、記事リストの上に固定された記事は表示されません。 「固定」に設定した記事はすべて通常の順番(日付順など)で表示されます
特定のカテゴリのすべての記事に戻り、固定された記事をまったく表示せず、ページネーションを保持します
$sticky=get_option('sticky_posts');
$args=array(
12月20日公開の記事に戻る
PHPコード
PHPコード
以下に、最新の投稿に続く 5 つの投稿を示します:
order=ASC - 最低値から最高値への昇順
メタキー=
query_posts('meta_key=color');
PHPコード
PHPコード
http://www.bkjia.com/PHPjc/735067.html www.bkjia.com true
PHPコード
$args = array(
'posts_per_page' => 1,
query_posts(array("post__not_in" =>get_option("sticky_posts")));
PHPコード
$paged = (get_query_var('paged')) get_query_var('paged') : 1;
「caller_get_posts」=>1、
day= – 月の日 (日、-範囲は 1 から 31)
monthnum= – 月番号 (月、-範囲は 1 ~ 12)
query_posts(monthnum=12&day=20' );
2009 年 3 月 1 日から 3 月 15 日までに公開された記事に戻る
関数 filter_where($where = '') {
paged=2 - 「古い投稿」リンクをクリックした後の 2 ページ目に表示される記事を表示します
オフセットパラメータ
通常の状況では、offset パラメータを使用して、クエリ セット内の 1 つ以上の最初のアーティクルを削除または無視できます。
query_posts('posts_per_page=5&offset=1');
orderby=著者
orderby=日付
注文パラメータ
昇順または降順で並べ替えるかを決定しますパラメータを並べ替えます
order=DESC - 最高値から最低値への降順
カスタムフィールドパラメータ
カスタムのキーワードまたは値に基づいて記事 (またはページ) を取得します。
メタ値=
カスタム フィールドの値に関係なく、カスタム フィールドのキーワード「color」を含む記事を返します:
キーワードに関係なく、カスタムフィールド値「color」を持つ記事を返します:
PHPコード
query_posts('metavalue=color');
PHPコード
カスタム キーワードが「color」で、カスタム フィールド値が「blue」ではない記事とページを返します:
query_posts('post_type=any&meta_key=color&meta_compare=!=&metavalue=blue');
リーリー
関節パラメータ
上記の例からわかるように、& 記号を使用して次のようなさまざまなパラメーターを接続できます。
PHPコード
uery_posts('cat=3&year=2004');
query_posts($query_string . '&cat=13&monthnum=' . date('n',current_time('timestamp')));
query_posts(array('category__and'=>array(1,3),'posts_per_page'=>2,'orderby'=>title,'order'=>DESC));
しかし、バグのため、コードは正常な結果を表示できませんでした。解決策はあります: + 記号を使用して複数のタグを検索します:
query_posts('cat=1&tag=リンゴ+リンゴ');
使用上のヒント

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHPでは、特性は方法が必要な状況に適していますが、継承には適していません。 1)特性により、クラスの多重化方法が複数の継承の複雑さを回避できます。 2)特性を使用する場合、メソッドの競合に注意を払う必要があります。メソッドの競合は、代替およびキーワードとして解決できます。 3)パフォーマンスを最適化し、コードメンテナビリティを改善するために、特性の過剰使用を避け、その単一の責任を維持する必要があります。

依存関係噴射コンテナ(DIC)は、PHPプロジェクトで使用するオブジェクト依存関係を管理および提供するツールです。 DICの主な利点には、次のものが含まれます。1。デカップリング、コンポーネントの独立したもの、およびコードの保守とテストが簡単です。 2。柔軟性、依存関係を交換または変更しやすい。 3.テスト可能性、単体テストのために模擬オブジェクトを注入するのに便利です。

SplfixedArrayは、PHPの固定サイズの配列であり、高性能と低いメモリの使用が必要なシナリオに適しています。 1)動的調整によって引き起こされるオーバーヘッドを回避するために、作成時にサイズを指定する必要があります。 2)C言語アレイに基づいて、メモリと高速アクセス速度を直接動作させます。 3)大規模なデータ処理とメモリに敏感な環境に適していますが、サイズが固定されているため、注意して使用する必要があります。

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

JavaScriptでは、nullcoalescingoperator(??)およびnullcoalescingsignmentoperator(?? =)を使用できます。 1.??最初の非潜水金または非未定されたオペランドを返します。 2.??これらの演算子は、コードロジックを簡素化し、読みやすさとパフォーマンスを向上させます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
