このシリーズではこれまで、WP_Query
クラスで使用して、投稿タイプ、カテゴリ、タグ、メタデータ、日付、ステータスなどによって投稿を選択できるパラメーター選択について学習しました。
#WP_Query パラメータに関するこの最後のチュートリアルでは、クエリの柔軟性を高めるため、あまり使用されないパラメータについて説明します。
###著者### ###検索### ###パスワード###
- 権限
- ###キャッシング### 戻りフィールド
- 始める前に、 WP_Query
- を使用してパラメータを記述する方法を簡単に確認しましょう。
- WP_Query のパラメーターがどのように機能するかを確認する
WP_Query を記述する場合は、次の 4 つの主要な要素を含める必要があります。
クエリ自体 ###サイクル###
終了: if タグと while タグを閉じて、公開データをリセットします
実際には、これは次のようになります:
- これらのパラメータは、データベースからどのデータを取得するかを WordPress に指示します。これについては、ここで説明します。ここで注目するのは、コードの最初の部分です:
- リーリー ご覧のとおり、パラメータは配列に含まれています。このチュートリアルに従うにつれて、それらをコーディングする方法を学びます。
- パラメータを記述します
- 配列内のパラメータには、次のような特定のエンコード方法があります:
パラメータとその値は一重引用符で囲み、それらの間に
=>を使用し、カンマで区切る必要があります。この間違いを犯すと、WordPress がクエリにすべてのパラメーターを追加しない可能性があり、追加しないと白い画面が表示されることがあります。
作成者のパラメータ
作成者によるクエリに使用できるパラメータは 4 つあります:
author
(int): 著者 ID を使用します
author_name
(String
): 「user_nicename」(名前ではありません)を使用してください-
author__in
(array): 著者 ID を使用します -
author__not_in
(array) -
最初の
author では、著者 ID: を指定して、1 人以上の著者による投稿をクエリできます。 リーリー 上記のコードは、ID - 2
を持つ作成者のすべての投稿をクエリします。
文字列を使用して複数の作成者による投稿をクエリすることもできます: リーリー 名前でクエリを実行する場合は、
パラメータを使用できます:
リーリー
このパラメータは、データベースの
フィールドの値をパラメータとして受け取ります。この値は、ユーザー管理画面にニックネームとして表示されます:
author パラメーターを使用する方が安全であることに注意してください。
リーリー
上記は 2 人の著者の投稿をクエリします。著者の ID は
1
2 で、得られる結果は
最後に、
author__not_in
1
を除くすべての投稿をクエリします:
リーリー
または、複数の著者を除外することもできます:
リーリー
または、
author パラメータを使用し、著者 ID の前にマイナス記号を使用して著者を除外することもできます。
リーリー
検索パラメータ
検索パラメータは s
という 1 つだけです。これを使用して、検索用語に一致する投稿をクエリします。たとえば、キーワード「私の好きな食べ物」を含む投稿をクエリするには、次のように使用します:
リーリー
たとえば、これは、類似したキーワードを含む関連投稿を検索する場合に便利です。
パスワードパラメータ
2 つのパスワード パラメータを使用して、パスワード保護の有無にかかわらず投稿をクエリできます。
(
bool)
(
String)
最初のパラメータ
- has_password
- を使用すると、パスワード保護の有無にかかわらず投稿をクエリできます。したがって、パスワードで保護された投稿をクエリするには:
リーリー
パスワードなしの投稿の場合: リーリー post_password - パラメータを使用して、パスワード自体でクエリを実行することもできます:
リーリー
権限パラメータ Permission には、パラメータ perm
'readable' 値をとり、他のパラメーターと組み合わせて使用することを目的としています。
因此,要查询受密码保护的帖子并仅在用户具有适当权限时才显示它们,您可以使用以下命令:
$args = array( 'has_password' => true, 'perm' => 'readable' );
或者,如果当前用户有权查看草稿帖子,则可以使用以下命令:
$args = array( 'post_status' => 'draft', 'perm' => 'readable' );
缓存参数
共有三个缓存参数,它们会阻止查询检索到的数据添加到缓存中:
-
cache_results
(boolean):帖子信息缓存 -
update_post_meta_cache
(boolean):发布元信息缓存 -
update_post_term_cache
(boolean):帖子术语信息缓存
这三个选项的默认值都是 true
:如果您希望将数据添加到缓存中,则不需要使用它们。
因此,要显示 product
帖子类型的所有帖子,但不将帖子信息添加到缓存中,您可以使用以下命令:
$args = array( 'post_type' => 'product', 'cache_results' => false );
通常您不应该使用这些参数,因为将发布数据添加到缓存是一个很好的做法。但是,您有时可能希望检索帖子,以便只使用一些帖子数据,在这种情况下,您不需要缓存中的其余帖子数据。例如,当您只想输出带有链接的帖子标题列表时,在这种情况下,您不需要将帖子术语数据或元数据添加到缓存中:
$args = array( 'post_type' => 'product', 'update_post_meta_cache' => false, 'update_post_term_cache' => false );
返回字段参数
您可以使用 fields
参数来指定从查询中返回哪些字段。这可以节省从数据库中的字段返回的数据,而在循环中输出数据时不需要这些数据。
默认情况下是返回所有字段,但是您有两个选项可以使用 fields
参数来限制这一点。首先,'ids'
参数:
$args = array( 'fields' => 'ids' );
这只会返回帖子 ID 数组,不会返回其他字段。如果您想在循环中输出任何内容(例如帖子标题),则必须使用 get_the_title ($post->ID);
等函数来输出标题,这将处理事情的方式很冗长。
您可以使用的另一个参数获取帖子 ID 与子帖子 ID 的关联数组:
$args = array( 'fields' => 'id=>parent' );
您可以使用它根据您的其他参数及其子参数查询帖子。
摘要
WP_Query
系列的这一部分介绍了 WP_Query
类的最终参数集。您可以使用它们按作者、密码保护状态或密码本身和搜索词查询帖子,并设置是否将查询结果添加到缓存以及查询返回哪些字段。
在本系列的下一部分中,您将看到一些在主题或插件中使用 WP_Query
的有效示例。
以上がWP_Query パラメータ: 作成者、検索、パスワード、権限の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

phpssionsStrackuserdataacrossmultiplepagerequestsusingauniqueidstoredinacookie.here'showtomanageetheemefectively:1)Startassession withsession_start()andstoredatain $ _ session.2)RegeneratesseSsessidafterloginwithsession_id(the topreventes_id)

PHPでは、次の手順を通じてセッションデータを繰り返すことができます。1。session_start()を使用してセッションを開始します。 2。$ _Sessionアレイのすべてのキー価値ペアを介してforeachループを反復します。 3.複雑なデータ構造を処理する場合、is_array()またはis_object()関数を使用し、print_r()を使用して詳細情報を出力します。 4.トラバーサルを最適化する場合、ページングを使用して、一度に大量のデータの処理を避けることができます。これにより、実際のプロジェクトでPHPセッションデータをより効率的に管理および使用するのに役立ちます。

このセッションは、サーバー側の状態管理メカニズムを介してユーザー認証を実現します。 1)セッションの作成と一意のIDの生成、2)IDはCookieを介して渡されます。3)サーバーストアとIDを介してセッションデータにアクセスします。

tostoreauser'snameInappession、starthessession withsession_start()、thensignthenameto $ _session ['username']。1)ousession_start()toinitializethessession.2)assighttheuser'snameto $ _ session ['username']

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

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

SublimeText3 中国語版
中国語版、とても使いやすい

WebStorm Mac版
便利なJavaScript開発ツール

ホットトピック









