私はWP_Queryクラスの大ファンです。いくつかのクライアントWebサイトでこのクラスを使用して、カスタムの方法でデータをフェッチして表示しています。
XNUMXつのページで複数のループを使用する場合、そのための最善の方法は、ループする必要があるときはいつでも「WP_Query」を実行することです。
ただし、1つの欠点があります。WordPressはループを実行するたびにデータベースにクエリを送信するため、時間がかかり、Webサイトが遅くなる可能性があります。
このチュートリアルでは、複数のループでクエリを使用する方法を示します。 メインクエリでこれを行うか、WP_Queryで同じ手法を使用できます。
3の側面を探ります:
- 子テーマとテンプレートファイルを作成します。
- ループコンテンツのテンプレートピースを作成します。
- ループを作成します。
しかし、一緒に発見する前に WordPressのブログ7の手順をインストールする方法 et あなたのブログにワードプレスのテーマを、見つけインストールしてアクティブにする方法
それから私たちがここにいる理由に戻りましょう。
何が必要
このチュートリアルに従うには、次のものが必要です。
- 開発用のWordPressインストールから(ローカル)。
- コードエディター。
- 複数のカテゴリが割り当てられたウェブサイトの記事
- WordPressの26のテーマ
- 26個の子テーマがインストールおよびアクティブ化されます
このテクニックは、あなたの状況にも適応します。 ワードプレスのテーマ.
子テーマを作成する
まず、XNUMXの子テーマを作成します。 親テーマを変更したくないので、これを行っています。
「wp-content / themes」フォルダーで、「tutor-theme」と呼ばれる新しい空のフォルダーを作成します。 後で自分に合った名前を選択できます。
このフォルダーに、style.cssというファイルを作成し、次のコードを追加します。
/*
テーマ名:Tuto Theme
テーマURI:https://blogpascher.com
説明:データベースを一度だけ照会しながら複数のループを実行するチュートリアルをサポートするテーマ。 Twenty Sixteenテーマの子テーマ。
著者:エルヴェ
著者URI:https://blogpascher.com
テンプレート:twentysteenteen
バージョン:1.0
*/
@import url( "../twentysixteen/style.css");
このファイルを保存して、新しい ワードプレスのテーマ.
次のステップは、カテゴリのテンプレートファイルを作成することです。これに取り組んでいきます。
「archive.php」ファイルのコピーを作成します。 ワードプレスのテーマ 「二十六」。 移動するのではなく、コピーを作成してください。 名前を「category.php」に変更します。
さらに進むには、発見する ファイルとフォルダのワードプレスの管理方法
これは、Webサイトのカテゴリのテンプレートファイルになります。
新しいテンプレートファイルを作成する
最初のステップは、テーマに新しいテンプレートファイルを作成することです。このテンプレートファイルには、「20 16」ループの修正バージョンが含まれます。
一緒に相談しましょう WordPress Webサイトをメンテナンスモードにする方法
子テーマフォルダーで、「includes」というサブフォルダーを作成します。 内部で、「loop-category.php」という名前の新しいファイルを作成します。
次に、親テーマフォルダ(20から16)からファイル "template-parts / content.php"を開き、次のコードを見つけます。
「」 >>
'、esc_url(get_permalink()))、' '); ?>
<?php
/ *翻訳者:%s:現在の投稿の名前* /
the_content(sprintf(
__( '続きを読む'%s ' '、 'twentysixteen')、
get_the_title()
));
wp_link_pages(配列(
'前' => ' '。 __( 'ページ:'、 'twentysixteen')。 ' '、
'後' => ' '、
'link_before' => ' '、
'link_after' => ''、
'pagelink' => ' '。 __( 'ページ'、 'twentysixteen')。 ' %'、
'セパレータ' => ' 、 '、
));
?>
<?php
edit_post_link(
sprintf(
/ *翻訳者:%s:現在の投稿の名前* /
__( '編集'%s ' '、 'twentysixteen')、
get_the_title()
),
' '、
''
);
?>
このコードを子テーマの新しい「loop-category.php」ファイルにコピーします。
テンプレートパーツファイルの編集
「二十六」ループは私が必要とする以上のものを示しているので、そのコードを編集します。 コンテンツではなくスニペットを表示したいので、コンテンツを削除します。
H1とWordPress記事のSEOタイトルの違いは何ですか? この記事を参照して調べてください。
新しいloop-category.phpファイルで、このコードを見つけて削除します。
<div class = "entry-content">
<?php
/ *翻訳者:%s:現在の投稿の名前* /
the_content(sprintf(
__( '続きを読む'%s ' '、 'twentysixteen')、
get_the_title()
));
wp_link_pages(配列(
'前' => ' '。 __( 'ページ:'、 'twentysixteen')。 ' '、
'後' => ' '、
'link_before' => ' '、
'link_after' => ''、
'pagelink' => ' '。 __( 'ページ'、 'twentysixteen')。 ' %'、
'セパレータ' => ' 、 '、
));
?>
もうXNUMXつの手順は、関数「twenty_sixteen_excerpt()」を関数「the_excerpt()」に置き換えることです。これは、XNUMXのバージョンでは記事全体へのリンクが提供されていないためです。
また見なさい 特定のカテゴリの最近の記事を表示する方法
この行を見つけます:
これに置き換えます:
また、タイトルタグにいくつかの変更を加える必要があります。
モデルパーツで、次の行を変更します。
'、esc_url(get_permalink()))、' '); ?>
H2のH3タグを編集します。
'、esc_url(get_permalink()))、' '); ?>
モデルを登録します。 それからcategory.phpファイルに戻り、それを続けます。
ループを作成する
まず、新しいファイルを使用する必要があるため、「category.php」ファイルから「twentysixteen」のコードのインクルードを削除します。
category.phpファイルで次のコードを見つけます。
get_template_part( 'template-parts / content'、get_post_format());
そして削除します。
次に、ループを作成します。
この例では、条件付きタグ「has_tag()」を使用して、タグ「content」を持つすべての投稿を表示します。 これは、次のXNUMXつのループを実行する必要があることを意味します。
- クエリがこのタグを持つアイテムを投稿したかどうかの最初のチェック。
- その場合、2番目はこのラベルが付いた記事を表示します。
- 3番目は、このタグのない記事を表示します。
各ループ間では、rewind_posts()を使用して、クエリをリセットせずにメッセージを巻き戻します。常にメインクエリを使用します。
最初のループ:記事の検証
「category.php」ファイルで、ループの始まりを見つけます。
一方、(have_posts()):the_post();
この行の上に、$ countという新しい変数を定義します。
$ = 0を数えます。
次に、そのループ内に次のコードを追加します。
//»タグの付いた投稿があるかどうかを確認します
$ tag = 'コンテンツ';
if(has_tag($ tag)){
$カウント+ = 1;
}
このコードは、メッセージに「content」というラベルが付いているかどうかを確認し、ある場合はカウンターに1を追加します。
ループの内部は次のようになります。
//最初のループで投稿を確認します。
$ = 0を数えます。
一方、(have_posts()):the_post();
//»タグの付いた投稿があるかどうかを確認します
$ tag = 'コンテンツ';
if(has_tag($ tag)){
$カウント+ = 1;
}
ENDWHILE;
2番目のループ:タグを使用して記事を復元する
次のステップは、このタグが付いている記事がある場合にのみ、ループしてこのタグが付いた記事を表示することです。
たとえば、$ countの値が0より大きい場合。
発見も クライアントのためのWordPressのダッシュボードをカスタマイズする方法
この条件をループに追加します。
if($ count> 0){
rewind_posts();
エコー ' 'でタグ付けされた投稿。 $タグ。 ' ';
一方、(have_posts()):the_post();
if(has_tag($ tag)){
get_template_part( 'includes / loop'、 'category');
}
//ループを終了します。
ENDWHILE;
}
このコードは、$カウントがゼロより大きいことを確認し、ゼロより大きい場合、アイテムを巻き戻し、ループを再度実行します。 アイテムごとに、ラベルを所有しているかどうかを確認し、所有している場合は、作成したテンプレートの一部を呼び出します。
3番目のループ:残りの記事を表示する
出力は、残りの記事の最終ループになります。 このカテゴリに「content」タグの付いた記事がない場合は、カテゴリ内のすべての記事が表示されます。
同様に学ぶ マルチ著者のブログを作成し、あなたの読者があなたのブログに記事を投稿できるようにする方法
2番目のループで、これを追加します。
rewind_posts();
// XNUMX番目のループ-「content」タグのない投稿
一方、(have_posts()):the_post();
if(!has_tag($ tag)){
get_template_part( 'includes / loop'、 'category');
}
//ループを終了します。
終わり; ?>
この最後のコードは記事を巻き戻し、ループを再度実行します。 今回は、記事に「content」タグが付いていないか確認するため、「template-part」にコンテンツを表示します。
発見することもお勧めします ワードプレスの印刷オプションの記事を追加する方法
これで、ブログの記事ページをテストできます。 フィルターを変更できることに注意してください。 このチュートリアルでは、ラベルフィルターとして「コンテンツ」を使用しましたが、任意のフィルターを使用できます。
プレミアムWordPressプラグインもご覧ください
他にも使えます WordPressのプラグイン モダンな外観を与え、ブログやウェブサイトの取り扱いを最適化します。
ここでは、そのためのプレミアムWordPressプラグインを提供しています。
1。 UserProのソーシャルウォールアドオン
UserProは、ソーシャルウォールを使用するとさらに楽しくなります。 これは、そのソーシャルウォール拡張機能がもたらすものです。 Social Wallプラグインを使用すると、Webサイトに壁を作成し、コミュニティと対話するためのさわやかな方法をメンバーに提供できます。
Le WordPressのプラグイン ソーシャル ウォールを使用すると、ユーザーは次のことができます: 相互にメッセージを共有する、画像を共有する、他の人の投稿にコメントする、ユーザーはメッセージを好きまたは嫌いにできる、ログインしているユーザーのみまたはすべてのユーザーにウォールを表示するように選択できる、管理者は次のことができる投稿やユーザーのコメントなどを削除します。
2。 Flipkart Affiliate Plus
Flipkart アフィリエイト プラスは、 WordPressのプラグイン WordPress ウェブサイトを Flipkart Affiliate API に接続するモジュール。
Ce WordPressのプラグイン Flipkart から商品データをインポートし、Web サイト上で直接更新することが非常に簡単になります。 Flipkart Affiliate Plus は、公式 Flipkart API 用の最初の WordPress プラグインです。 これを使用すると、サードパーティ API を使用する必要がなくなります。 したがって、あなたは自分の仕事から最大限の利益を得ることができます。
3。 WooCommerceのための実用的なGoogle Analytics
実用的なGoogleAnalyticsは、次のようなUniversalAnalyticsの最高の機能のいくつかを使用できるようにするWordPressプラグインです。拡張eコマースおよびユーザーID追跡。 さらに、このプラグインは、IPアドレスの匿名化、製品の払い戻し、コンテンツのグループ化、フォームの追跡などをサポートします。
このWordPressプラグインを使用すると、複雑なGoogleアナリティクスコードの統合にかかる時間を節約できるため、データの管理に集中できます。
その主な機能は次のとおりです。迅速かつ簡単なインストール、9つの拡張eコマースレポートへのアクセス、同じユーザーによるさまざまなデバイスの使用方法と購入方法を調査する機能、最も頻繁に払い戻される製品を分析し、最終的に是正措置を講じる機能など。
その他の推奨リソース
また、以下のリソースを参照して、Webサイトとブログの把握と管理をさらに進めてください。
まとめ
ここに ! このかなり技術的なチュートリアルは以上です。 WordPressでWP_Queryを適切に使用する方法を明確に示していることを願っています。 お気軽に ソーシャルネットワークで友達とヒントを共有する.
しかし、あなたも私たちに相談することができます ressources、インターネットサイトの作成プロジェクトを実行するためにより多くの要素が必要な場合は、 WordPressブログの作成。
しかし、その間に、あなたについて教えてください commentaires 専用セクションの提案。
...
ボンジュール
いずれにせよ、あなたの答えをどうもありがとうございました、私はあなたに幸運を願っ
ありがとう
___________ ________ _____ ____________
| 記事1 | | arti 2 | | _A3_ | | |
| __________ | | _______ | _____ | 記事6 |
______________________ | 5 | | |
| _________ 4 _________ | | ____ | | ___________ |
こんにちはブレア
これらのチュートリアルのparfaisをありがとうございました、
少し助けをお願いしたいのですが。
独自のwordpresテーマ(html / css)を作成しましたが、小さな問題が発生しました。解決しようとします。msn.comに似たサイトを作成する予定です。私のサイトは、いくつかの部門(見出し)に分割されます。 )ニュース、エンターテインメント、健康、ライフスタイル…など。 つまり、記事の最初のグループ、XNUMX番目のグループ、XNUMX番目のグループを実現したいということです。 ただし、すべてのグループを同じページに表示し、各グループがセクション(ニッチ)に属していることを示します。 このワードプレスのバックオフィスは、各セクションのコンテンツを個別に管理できるのでしょうか。 ワードプレスループ付き//コンテンツを投稿申し訳ありません。投稿が見つかりません! 私はアイテムの組み合わせを取得します:
つまり、私の最後に書いた記事は、ニュースである最初のセクションに直接配置されていますが、たとえばライフスタイルに属する記事です。
このページに出くわしました https://codex.wordpress.org/fr:La_Boucle 私は、一部複数のループは私の問題を解決することができると思います!
私が言おうとしていることをあなたが理解してくれることを願っています
あなたの答えのために、事前にあなたに感謝し、
敬具
お疲れ様です
私はあなたがあなたの人生をただで複雑にしていると思います。 すでに私が理解しているのは、記事をカテゴリ(セクション)に整理し、各セクションをニッチに属することができ、それを親カテゴリにすることができるということです。 はい、ループはそれを行うのに役立ちます、そしてそれは驚くほどシンプルです。
勇気!
おはようございます。
まずは迅速な対応ありがとうございます。 私が作成したばかりのテーマはもはやワードプレスと互換性がないと思います、そしてそれが問題の原因です。
実際、あなたのコメントは添付の画像をサポートしていないので、私は次のように説明します。
ここでのカテゴリのサイトです
___________ ________ _____ ____________
| 記事1 | | arti 2 | | _A3_ | | | 各記事が
| __________ | | _______ | _____ | 記事6 | タイルで表されます。 6があります
______________________ | 5 | | | アイテム(各タイルには画像が含まれています
| _________ 4 _________ | | ____ | | ___________ | および特定の記事のタイトル)
私の本当の問題、ミスターブレアは、記事をラップして、正方形1から正方形6に移動できるようにすることができないことです。つまり、新しいアイテムを追加して、既存のすべてのテーマと同様に、記事1の代わりに使用して公開します。
-各投稿(記事)には場所、高さ、幅などの独自のプロパティがあるため、これは実用的ではないと思います。それではどう思いますか?
もちろん、この図ではアイデアが少し明確です。そうでない場合は、私が気にせず、あなたが私を助けたいのであれば、あなたは私の電子メールを持っています(あなたはあなたの名前を含む電子メールを送るだけです)。
あなたのrethinksありがとうございまし
こんばんは、この場合、タイプ「int」の変数を追加する必要があります。したがって、ループループのたびに変数をインクリメントし、変数の値に応じてlを変更できます。記事の表示。 例えば :
もし($ iの1を==){
//ここにコード
}そうであれば($ I == 2){
//このよう
}
$ I ++;
残念ながら、私はこの時点で個人的にあなたを支援することはできません。