programing

WordPress 검색은 페이지가 아닌 게시물에 대해서만 작동합니다.

golfzon 2023. 3. 20. 23:45
반응형

WordPress 검색은 페이지가 아닌 게시물에 대해서만 작동합니다.

빈 기본 템플릿을 사용하여 사용자 지정 WordPress 테마를 만들고 있습니다.search.php 파일은 편집하지 않았습니다.

제 워드프레스 투고 중 많은 부분이 페이지입니다.안타깝게도 사이트 검색은 페이지가 아닌 게시물만 가져옵니다.

투고와 페이지를 모두 검색하기 위한 테마를 얻는 방법을 알고 계십니까?

검색의 대부분을 다음에 나타냅니다.php :

<?php if (have_posts()) : ?>

    <h3>Search Results</h3>

    <?php include (TEMPLATEPATH . '/inc/nav.php' ); ?>

    <?php while (have_posts()) : the_post(); ?>

        <div <?php post_class() ?> id="post-<?php the_ID(); ?>">

            <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>

            <?php include (TEMPLATEPATH . '/inc/meta.php' ); ?>

            <div class="entry">
                <?php the_excerpt(); ?>
            </div>

        </div>

    <?php endwhile; ?>

    <?php include (TEMPLATEPATH . '/inc/nav.php' ); ?>

<?php else : ?>

    <h3>No posts found.</h3>

<?php endif; ?>

이 코드를 함수에 추가합니다.php 파일.

function wpshock_search_filter( $query ) {
    if ( $query->is_search ) {
        $query->set( 'post_type', array('post','page') );
    }
    return $query;
}
add_filter('pre_get_posts','wpshock_search_filter');

http://wpth.net/limit-wordpress-search-results-to-specific-post-types

WP Search http://wpsear.ch/에는 이러한 기능이 있습니다.결과 페이지에 표시할 게시물 유형을 조정할 수 있습니다.

search.php에서 The Loop을 찾아 바로 뒤에 이 코드를 삽입합니다.루프는 보통 다음과 같이 시작되므로 인식할 수 있습니다.

<?php if ( have_posts() ) : while ( have_posts() ) : the_post();?>

삽입할 코드:

if (is_search() && ($post->post_type=='page')) continue; 

따라서 코드는 다음과 같습니다.

<?php if ( have_posts() ) : while ( have_posts() ) : the_post();?>
<?php if (is_search() && ($post->post_type=='page')) continue; ?>

효과가 있었는지 알려주세요.

관련성 대신 포스트 날짜별로 순위가 매겨진 페이지 검색 및 검색 결과의 부족은 전형적인 WP 문제이다.http://wordpress.org/extend/plugins/relevanssi/에 접속해 보세요.

언급URL : https://stackoverflow.com/questions/5147297/wordpress-search-only-works-with-posts-not-pages

반응형