0

私のコードでは、posts_per_page(表示される投稿の数)の横にあるすべてが機能します。これが私のWordpressコードの一部です:

<?php 
$category = get_the_category();
$current_category = $category[0]->term_id;
$qarr = array(
    'posts_per_page' => $posts_number,
    'cat' => $current_category,
    'tag' => 'pinned', // tag filtered
    'post__not_in' => array(get_the_ID())
);
$q = new WP_Query($qarr);
if($q->have_posts()) : while ($q->have_posts()) : $q->the_post();
?>

なぜ機能しないのですか?ドキュメントを読みましたが、問題が何であるかわかりません。

表示してテストする場合の完全なコードは次のとおりです。$posts_numberに番号を設定するだけです。http://pastebin.com/uNsynNiM

4

1 に答える 1

1

以前の質問から、テーマは主にquery_postsを使用して、データベースに対してすべての投稿クエリを実行しています。これによりメインループが変更されるため、WP_Queryとget_postsは、query_postsへの既存のすべての呼び出しの影響も受けます。ウィジェットのWP_Query呼び出しは、どこかで不正なquery_posts呼び出しの影響を受けていると確信しています。

私の提案は、テーマをquery_postsのすべてのインスタンスからWP_Queryに変換するのにかなりの労力がかかる可能性があるため、一時的に「showposts」を使用することです。これが本質的に問題を解決するためです。query_posts関数へのすべての呼び出しをWP_Queryに切り替えることをお勧めします。そうすることでパフォーマンスが大幅に向上するからですが、最終的には、かなり小さな問題を修正するために多大な労力が必要になります。

個人的に、私はそれをしますか?良い練習の練習として、私はおそらくそうでしょう。それだけの価値があると思いますか?プロジェクトによって異なります。これが単なる個人的なプロジェクトであるならば、私はそれが必要であるとは言いません。

これで頑張ってください、そして私はそれがすべてうまくいくことを願っています。

于 2012-09-12T16:18:50.517 に答える