「Mastering WP_Query」シリーズの別の記事へようこそ。これまでのところどうですか?私たちが記事を書いて楽しかったのと同じくらい、皆さんもこれらのチュートリアルを楽しんでいただければ幸いです。
このチュートリアルでは、WP_Query
クラスのプロパティとメソッドについて學(xué)習(xí)します。しかし、その前に、授業(yè)で「性質(zhì)」と「方法」について議論するのが適切だと考えました。
プロパティとメソッドとは正確には何ですか?
PHP には、コードを記述するための
より簡単な 方法、つまりオブジェクト指向プログラミング (OOP) があります。 OOP では、「クラス」をブループリントとして使用します。この用語は、Code Tuts の classic 投稿、Jason Lengstorf による「初心者のためのオブジェクト指向 PHP」から得ました。
たとえば、クラスは家の設(shè)計図WP_Queryのようなものです。紙の上で家の形狀を定義し、家が存在しない場合でも、家のさまざまな部分間の関係を明確に定義して計畫します。
(
は WordPress の中核にある重要なクラスであることを思い出してください。)
PHP クラスの概念を理解すると、「プロパテ?!工取弗幞渐氓伞工稀笁鋽?shù)」と「関數(shù)」の同義語であるため、非常に理解しやすくなります。はい、
は PHP クラスの変數(shù)であり、Methods は PHP クラスの関數(shù)です。 これらが何であるかを説明したので、それぞれのプロパティとメソッドについて學(xué)びましょう。
警告:プロパティを直接変更するのは賢明ではありません。 Codex に記載されているように、これらと対話するには WP_Query のメソッドを使用する必要があります。
WP_Query クラスの屬性
クラスのプロパティまたは変數(shù)から始めましょう。
クエリ文字列:
このプロパティは、
$wp_query オブジェクトに渡されるクエリを保存します。
クエリ変數(shù)配列:
このプロパティには、
$query の変數(shù) (およびその値) の連想配列が保存されます。
クエリ オブジェクト:
この屬性には、
$post オブジェクト (投稿クエリの場合) または $author
オブジェクト (作成者の場合) など、現(xiàn)在のクエリのオブジェクトが格納されます。クエリ)。
クエリ オブジェクト ID:
この屬性には、クエリ オブジェクトの ID が格納されます。
クエリで返された投稿:
$posts
このプロパティは、クエリから返された投稿を保存します。
表示される投稿數(shù):
$post_count
この屬性には、現(xiàn)在クエリされている投稿の數(shù)が保存されます。
クエリによって返された投稿の數(shù):
$found_posts
このプロパティには、SQL クエリ內(nèi)の
LIMIT 句を含まないポストの數(shù)が保存されます。
ページ數(shù):
このプロパティには、
$found_posts を $posts_per_page
で割ることによって計算されたページ數(shù)が保存されます。
現(xiàn)在の投稿のインデックス:
この屬性には、ループ內(nèi)の現(xiàn)在の項目のインデックス番號が格納されます。たとえば、ループが開始したばかりの場合、その値は
-1 であり、next_post()
メソッドによってインクリメントされます。
現(xiàn)在の投稿:
この屬性は現(xiàn)在の投稿を保存します。
條件ラベルのブール値:
$is_{conditional}
次のプロパティはブール値として保存され、現(xiàn)在の投稿ステータスに関する情報を提供します:
-
$is_single
: 任意の投稿タイプ (「添付ファイル」と「ページ」投稿タイプを除く) の単一の投稿であるかどうかを確認(rèn)します。 -
$is_page
: ページであるかどうかを確認(rèn)します。 -
$is_archive
: アーカイブ ページかどうかを確認(rèn)します。 -
$is_preview
: ポストプレビューかどうかを確認(rèn)します。 -
$is_date
: 日付に基づいてアーカイブ ページであるかどうかを確認(rèn)します。 -
$is_year
: 年に基づいてアーカイブ ページであるかどうかを確認(rèn)します。 -
$is_month
: 月ベースのアーカイブ ページであるかどうかを確認(rèn)します。 -
$is_time
: これが時間 (時間、分、または秒) に基づいてアーカイブされたページであるかどうかを確認(rèn)します。 -
$is_author
: 著者のアーカイブ ページであるかどうかを確認(rèn)します。 -
$is_category
: カテゴリ アーカイブ ページかどうかを確認(rèn)します。 -
$is_tag
: タグ アーカイブ ページかどうかを確認(rèn)します。 -
$is_tax
: 機密アーカイブ ページかどうかを確認(rèn)します。 -
$is_search
: 「検索結(jié)果」ページかどうかを確認(rèn)します。 -
$is_feed
: フィードかどうかを確認(rèn)します。 -
$is_comment_feed
: コメント フィードかどうかを確認(rèn)します。 -
$is_trackback
: 參照であるかどうかを確認(rèn)します。 -
$is_home
: メインのブログ ページであるかどうかを確認(rèn)します。 -
$is_404
: 404 エラー ページかどうかを確認(rèn)します。 -
$is_comments_popup
: コメント ポップアップ ウィンドウかどうかを確認(rèn)します。 -
$is_admin
: 管理パネルであるかどうかを確認(rèn)します。 -
$is_attachment
: 添付ファイルであるかどうかを確認(rèn)します。 -
$is_singular
: 任意の投稿タイプ (「添付ファイル」および「ページ」投稿タイプを含む) の単一の投稿であるかどうかを確認(rèn)します。 -
$is_robots
:robots.txt
ファイルに対するクエリであるかどうかを確認(rèn)します。 -
$is_posts_page
: 「投稿ページ」(管理パネルの「閲覧設(shè)定」ページで設(shè)定)かどうかを確認(rèn)します。 -
$is_paged
: それがホームページではなくページング クエリであるかどうかを確認(rèn)します。
WP_Queryクラスのメソッド
プロパティの作成は完了したので、WP_Query
クラスのメソッド (関數(shù)) に進みましょう。
このメソッドは単にオブジェクトを初期化し、すべてのプロパティを NULL
、
0、または FALSE
に設(shè)定します。
parse_query( $query )
このメソッドは、$query
屬性を使用してクエリを解析し、他のすべての屬性 (
$posts、$post_count
、$post を除く) を設(shè)定します。
および $current_post
)。
parse_query_vars()
このメソッドはクエリ変數(shù)を再解析します。
get( $query_var )
このメソッドは、指定されたクエリ変數(shù)を取得します。
設(shè)定 ($query_var、$value)
このメソッドは、指定されたクエリ変數(shù)を特定の値に設(shè)定します。
&get_posts()
このメソッドは、クエリによって要求された投稿を返し、$posts
プロパティと
$post_count プロパティを設(shè)定します。
next_post()
このメソッドは、$current_post
インデックスをインクリメントし、
$posts 內(nèi)の次の投稿に進み、現(xiàn)在の投稿オブジェクトを返します。 (このメソッドが正しく動作するには、ループ內(nèi)で使用する必要があります。)
######ポスト()######
このメソッドは、グローバル $post
変數(shù)を次の投稿のデータで設(shè)定します。 (このメソッドが正しく動作するには、ループ內(nèi)で使用する必要があります。)
have_posts()
このメソッドは、処理すべき投稿が殘っているかどうかを確認(rèn)し、殘っていない場合は FALSE
を返します。 (正しく動作させるには、このメソッドをループの前に使用する必要があります。)
rewind_posts()
このメソッドは、$current_post
プロパティと
プロパティをリセットするだけです。
&クエリ( $クエリ )
このメソッドは、2 つの兄弟メソッド parse_query()
と
を呼び出し、get_posts()
の結(jié)果を返します。
get_queried_object()
このメソッドはクエリ オブジェクトを返します。 (まだ設(shè)定されていない場合は $queried_object
を設(shè)定します。)
get_queried_object_id()
このメソッドは上記のメソッドと似ており、クエリ オブジェクトの ID ($queried_object_id
) を返します。
クイックヒント:
メソッドの前に & 記號がある場合、それはメソッドが參照によって返されることを意味します。
今日のまとめ
クラスにとって「プロパテ?!工取弗幞渐氓伞工韦蛞馕钉工毪韦蛎鞔_にできたと思います。
クラスのプロパティとメソッドの目的を理解していれば、良い仕事をしたと言えます。 この記事に何か追加することはありますか?以下のコメントセクションでご意見をお聞かせください。この記事が気に入ったら、ぜひお友達(dá)と共有してください。
このシリーズの次のパートでお會いしましょう!
以上がWP_Query の力を解き放つ: プロパティとメソッドを探索するの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

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

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

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック

WordPressバージョンをロールバックするには、プラグインを使用するか、コアファイルを手動で交換して自動更新を無効にすることができます。 1. WPDownGradeおよびその他のプラグインを使用して、ターゲットバージョン番號を入力して、自動的にダウンロードして交換します。 2. WordPressの古いバージョンを手動でダウンロードし、FTPを介してWP-Includes、WP-Admin、およびその他のファイルを置き換えますが、WP-Config.phpおよびWPコンテンツを保持します。 3. wp-config.phpにコードを追加するか、フィルターを使用してコア自動更新を無効にして、さらなるアップグレードを防ぎます。操作前にウェブサイトとデータベースをバックアップして、安全性と信頼性を確保してください。長期的にセキュリティと機能サポートのために最新バージョンを維持することをお勧めします。

WordPressでカスタムショートコードを作成する手順は次のとおりです。1。functions.phpファイルまたはカスタムプラグインを介してPHP関數(shù)を書き込みます。 2。ADD_SHORTCODE()を使用して、関數(shù)をショートコードタグにバインドします。 3。関數(shù)のプロセスパラメーターと出力コンテンツを返します。たとえば、ボタンショートコードを作成する場合、柔軟な構(gòu)成の色パラメーターとリンクパラメーターを定義できます。使用する場合、[ButtonColor = "Red" url = "https://example.com"]などのタグを挿入できます。Do_ShortCode()を使用してモデル化できます。

WordPressがサーバーCPU使用の急増を引き起こす主な理由には、プラグインの問題、非効率的なデータベースクエリ、テーマコードの品質(zhì)の低さ、またはトラフィックの急増が含まれます。 1.最初に、トップ、HTOP、またはコントロールパネルツールを介したWordPressによって引き起こされる高い負(fù)荷であるかどうかを確認(rèn)します。 2.トラブルシューティングモードを入力して、プラグインを徐々に有効にしてパフォーマンスのボトルネックをトラブルシューティングし、QueryMonitorを使用してプラグインの実行を分析し、非効率的なプラグインを削除または交換します。 3.キャッシュプラグインをインストールし、冗長データをクリーンアップし、スロークエリログを分析してデータベースを最適化します。 4.トピックには、コンテンツの過負(fù)荷、複雑なクエリ、キャッシングメカニズムの欠如などの問題があるかどうかを確認(rèn)します。標(biāo)準(zhǔn)のトピックテストを使用して、コードロジックを比較および最適化することをお勧めします。上記の手順に従って、場所を確認(rèn)して解決し、問題を1つずつ解決します。

プラグインに依存しないWordPressサイトを最適化する方法は次のとおりです。1。積み重なったテーマを避けるために、AstraやGeneratePressなどの軽量テーマを使用します。 2. CSSおよびJSファイルを手動で圧縮およびマージして、HTTP要求を削減します。 3.アップロードする前に畫像を最適化し、WebP形式を使用し、ファイルサイズを制御します。 4. configure.htaccessブラウザキャッシュを有効にし、CDNに接続して靜的リソースの負(fù)荷速度を向上させます。 5.記事の改訂を制限し、定期的にデータベース冗長データをクリーンにします。

JavaScriptファイルをマイニングすると、ブランク、コメント、役に立たないコードを削除することにより、WordPress Webサイトの読み込み速度を向上させることができます。 1。W3TOTALCACHEなどの圧縮をサポートするキャッシュプラグインを使用し、「MINIFY」オプションで圧縮モードを有効にし、選択します。 2。FastVelocityMinifyなどの専用圧縮プラグインを使用して、より細(xì)かい制御を提供します。 3. JSファイルを手動で圧縮し、FTPを介してアップロードします。これは、開発ツールに精通しているユーザーに適しています。一部のテーマまたはプラグインスクリプトは圧縮関數(shù)と競合する可能性があり、アクティベーション後にWebサイト機能を徹底的にテストする必要があることに注意してください。

Transientapiは、自動有効期限データを一時的に保存するためのWordPressの組み込みツールです。そのコア関數(shù)は、set_transient、get_transient、delete_transientです。 OptionsAPIと比較して、Transimentsは、Cache API要求の結(jié)果や複雑なコンピューティングデータなどのシナリオに適した、生存時間(TTL)の設(shè)定をサポートしています。それを使用する場合、キーネーミングと名前空間の獨自性、キャッシュ「怠zyな削除」メカニズム、およびオブジェクトキャッシュ環(huán)境では続かない問題に注意を払う必要があります。一般的なアプリケーションシナリオには、外部要求頻度の削減、コード実行リズムの制御、ページの読み込みパフォーマンスの改善が含まれます。

オブジェクトキャッシュは、高いアクセスと低更新に適した永続的なストレージを支援し、短期の失われたデータを許容します。 1.キャッシュの「永続性」に適したデータには、ユーザー構(gòu)成、一般的な製品情報などが含まれます。これらはデータベースから復(fù)元できますが、キャッシュを使用して加速できます。 2. Redis、RDBやAOFモードの有効化などの永続性をサポートするキャッシュバックエンドを選択し、合理的な有効期限ポリシーを構(gòu)成しますが、メインデータベースを置き換えることはできません。 3.長いTTLを設(shè)定するか、キーの期限が切れないように、ユーザー:1001などの明確なキー名構(gòu)造を採用:データを変更するときにキャッシュを同期して更新します。 4.ローカルと分散したキャッシュを組み合わせて、小さなデータをローカルおよびビッグデータRedisを保存してビッグデータを保存し、一貫性とリソースの使用の問題に注意を払いながら、再起動後に回復(fù)に使用できます。

PluginCheckは、WordPressユーザーがプラグインの互換性とパフォーマンスをすばやくチェックするのに役立つツールです。主に、現(xiàn)在インストールされているプラ??グインに、WordPressの最新バージョン、セキュリティの脆弱性などと互換性がないなどの問題があるかどうかを特定するために使用されます。インストールとアクティベーションの後、バックグラウンドの「runaScan」ボタンをクリックして、すべてのプラグインを自動的にスキャンします。 2。レポートには、プラグイン名、検出タイプ、問題の説明、およびソリューションの提案が含まれています。これにより、深刻な問題の優(yōu)先処理が容易になります。 3. WordPressを更新する前に検査を?qū)g行することをお勧めします。ウェブサイトの異常が異常である場合、または定期的に実行されて隠された危険を事前に発見し、將來の大きな問題を回避することをお勧めします。
