作成したショートコードに問題があります。短いコードは、特定のパラメータに基づいて最新の投稿を取得します。下記はパラメータです
extract( shortcode_atts( array (
'numberposts' => 6,
'offset' => 0,
'featured' => null,
'trending' => null,
'showdate' => null
), $atts ) );
$args = array(
'numberposts' => $numberposts,
'offset' => $offset,
'category__not_in' => array(391),
'orderby' => 'post_date',
'order' => 'DESC',
'post_type' => 'post',
'post_status' => 'publish'
);
このショートコードをホームページで3回実行しています。初めての方はこのようになります。(これは最新の6つの記事をつかみます)
[recent-articles-grid featured="1" trending="1" showdate="1"]
このような2回目:(これは次の4つの記事をつかみます)
[recent-articles-grid numberposts="4" offset="6" showdate="1"]
そして3回目は、次のようになります。
[recent-articles-grid numberposts="-1" offset="10"]
Numberpostsパラメータに-1を使用すると、offsetパラメータが無視されることがわかりました。私がナンバーポストを100のようなものに変更するならば、オフセットはうまくいきます。
残りの投稿を取得してもオフセットを使用する方法はありますか?
この問題は非常に簡単な説明です;)あなたがする必要があるのは WP_Queryのためのコーデックスページ を見てoffset
パラメータについて読むことだけです:
offset (int)
- 移動または通過する投稿の数。警告:offsetパラメータを設定すると、ページングされたパラメータが上書きされて無視され、ページ付けが中断されます(回避策についてはここをクリックしてください)。'posts_per_page' => - 1(すべての投稿を表示)が使用されている場合、 'offset'パラメータは無視されます。
だから私はそのための簡単な回避策はないと思います。 posts_per_page
を設定すると、すべての投稿を表示したいことをWPに伝えます。その方程式にオフセットを追加してもあまり意味がありません。
一方、既にすべての投稿を照会している場合は、自分で簡単にオフセット部分を実行できます - 最初の投稿N
を無視するだけです(理想的ではありませんが、機能します)。
そして - numberposts
に基づいてこれらのget_posts
関数を使用しますか?もしそうなら、最初のN
の投稿を無視するほうがさらに簡単です - N
からループを開始するだけです。