it-swarm-ko.tech

The Loop의 Sticky Post와 WordPress의 WP_Query ()를 제외하고?

다음 발췌 문장은 "최근 게시물"을 나열하는 사이드 바 위젯에서 발췌 한 것입니다. 홈 페이지에서 가장 최근에 끈적 끈적한 게시물을 해당 페이지에서 눈에 띄게 표시하기 때문에이 루프에서 끈적 거리지 않고 건너 뜁니다. 그러나 post_not_in=sticky_posts는 아무 효과가 없습니다.

<?php
    $the_query = new WP_Query("showposts=$number&offset=1&order=ASC&post_not_in=sticky_posts");

    while ($the_query->have_posts()) : $the_query->the_post();
        $do_not_duplicate = $post->ID; ?>
1
Scott B

나는 @ tnorthcutt 'sWordPress 'Codex on query_posts()에 대해 Sticky Parameters 에 대한 답변을 작성하여 웹 사이트의 루트에 test.php로 삭제할 수있는 tandalone 예제를 작성하고 귀하의 도메인이 대체 된이 :

http://example.com/test.php

코드에 대한 몇 가지 메모. post__no_in 인수를 쉼표로 구분 된 문자열로 전달할 수 없기 때문에 퀴즈 문자열에 해당하는 배열WP_Query()에 전달해야 함)을 사용해야했습니다 (확실하지 않은 이유는 무엇입니까?).

또한 offset=1 대신 offset=0로 시작한다는 것은 쿼리가 반환하지 않는 첫 번째 게시물을 제외한다는 것을 의미합니다. 당연히 $number에 의해 지정된 게시물 수를 얻을 수 있습니다. 코드는 다음과 같습니다.

<?php
header('Content-Type:text/plain');
include "wp-load.php";

$number = 5;

$the_query = new WP_Query(array(
  'showposts' => $number,
  'offset' => 1,  // This will cause the query to skip over first post
  'order' => 'ASC',
  'post__not_in' => get_option("sticky_posts"),
  ));
while ($the_query->have_posts()) : $the_query->the_post();
  the_title(); 
endwhile;
3
MikeSchinkel

모든 고정 게시물을 쿼리에서 제외하려면 다음을 사용하십시오.

query_posts(array("post__not_in" =>get_option("sticky_posts")));

( 코덱스 )

그러나 3.0 이상에서만 작동합니다. http://wordpress.org/support/topic/excluding-sticky-posts-using-query_posts

편집 : 아래에 귀하의 의견에 대한 응답으로,이 (나는 이것이 잘 작동 모르겠지만, 잘하면 그것은 당신을 시작할 것이다) :

<?php 
$args=array(
    'showposts'=>'$number',
    'offset'=>'1',
    'order'=>'ASC',
    'post__not_in'=>get_option("sticky_posts")
    );
$the_query = new WP_Query($args);

    while ($the_query->have_posts()) : $the_query->the_post();

        $do_not_duplicate = $post->ID; ?>
1
Travis Northcutt