추천 콘텐츠를 원래 순서대로 홈페이지에 게시


17

검색어 게시물에서 제외하지 않고 블로그 홈페이지 에 추천 게시물을 유지하는 방법을 찾고 있습니다. 내 블로그는 Twenty Fourteen 테마를 사용합니다. 이 솔루션을 찾았습니다.

테마의 inc 폴더에서 feature-content.php 를 열고 다음 코드 (이 경우 269 행)를 찾으십시오.

$query->set( 'post__not_in', $featured );

이 줄 앞에 슬래시 두 개를 추가하여이 줄을 주석 처리하면됩니다.

// $query->set( 'post__not_in', $featured );

그러나 파일에는 해당 줄이 없으며 자식 테마는 부모 테마의 inc 폴더를 재정의 할 수 없습니다.

다른 솔루션 을 찾았 지만 작동하지만 문제는이 코드가 추천 콘텐츠 게시물을 원래 순서대로 표시하지 않는다는 것입니다. 오래된 게시물 (스티커 게시물을 사용하여 추천 게시물을 작성하는 중)을 게시하면 추천 콘텐츠 게시물이 첫 번째 순서가되고 다른 게시물이됩니다.

이와 같은 조건부 태그를 사용해보십시오.

function show_featured_content_on_home() {
if ( !is_home() ) {
remove_action( 'pre_get_posts', array( 'Featured_Content', 'pre_get_posts' ) );
    }
}
add_action( 'init', 'show_featured_content_on_home', 31 );

두 번째 페이지 등은 추천 게시물을 순서대로 표시하지만 홈페이지에는 여전히 문제가 있습니다.

어떤 제안?


나는 대답이 있다고 생각합니다. 제대로 작동하려면 스티커 포스트를 사용하는 대신 '추천'태그를 사용하여 추천 컨텐츠를 만들어야합니다. 그래서 해결책은 정확하고 이해가 잘못되어 잘못된 질문을합니다. 조건부 태그는 코드가 조건부 태그없이 작동하기 때문에 제거 할 수 있습니다.
Naziman Azlye

1
나는 이것이 매우 늦다는 것을 알고 있지만 위의 주석을 답변으로 추가하고 싶습니까? 이 질문에는 꽤 많은 공감대가 있으며 정답이 있으면 더 명확 해집니다. 미리 감사드립니다!
kraftner

답변:


1

WPQuery를 사용할 수 있다고 생각합니다.

    $the_query = new WP_Query( array( 'post__in' => get_option( 'sticky_posts' )) ); ?>

    <?php if ( $the_query->have_posts() ) : ?>

        <!-- pagination here -->

        <!-- the loop -->
        <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>   
<h2><?php the_title(); ?></h2>
        <?php endwhile; ?>
        <!-- end of the loop -->

        <!-- pagination here -->

        <?php wp_reset_postdata(); ?>


    <?php endif; ?>

게시물을 주문하려면 주문을 사용하고 주문을 참조하십시오 참조 https://codex.wordpress.org/Class_Reference/WP_Query

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.