首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索结果计数,但显示不正确- Wordpress

搜索结果计数,但显示不正确- Wordpress
EN

Stack Overflow用户
提问于 2021-03-05 16:10:08
回答 1查看 27关注 0票数 0

我的search.php文件有问题。我想要实现的是,当我的两个自定义帖子类型包含在搜索结果中时,用户将获得一个指向其他(“父”)页面的链接。到目前为止,我已经实现了搜索结果的正确计数,但是除了那些自定义的post类型之外的结果没有被正确地显示(页面标题和URL没有出现)。这是我的代码(search.php)。

代码语言:javascript
复制
<?php
/*
Template Name: Search results
The template for displaying Search Results pages.
*/
get_header();
?>
<?php
global $query_string;
wp_parse_str( $query_string, $search_query );
$search = new WP_Query( $search_query );
?>
<div class="container-fluid-wrapper">
<div class="container-fluid przewodnik bottom przewodnik-obszary-wrapper">
    <div class="row no-gutters przewodnik-wstep">
    <div class="col-xl-1 jasne-tlo">
    </div> 
    <div class="col-xl-10 jasne-tlo border-left-right no-background bottom-space search-wrapper">
        <div class="search">
            <h3 class="krok krok-przewodnik">Wyniki dla:</h3>
                <?php /* Search Count */ $allsearch = new WP_Query("s=$s&showposts=-1"); $key = wp_specialchars($s, 1); $count = $allsearch->post_count; _e(''); _e('<span class="search-terms">'); echo $key; _e('</span>'); _e(' <br> '); _e('<span class="search-number">'); _e('Liczba wyników: '); _e('</span">'); _e('<span class="bold">'); echo $count . ' '; _e('</span>'); wp_reset_query(); ?> <br>
        </div>
    <?php if ($allsearch->have_posts()) : ?>
    <?php while ($allsearch->have_posts()) : $allsearch->the_post(); ?>
        <?php
            if ($post->post_type == "zespol") {
                echo '<div class="row">
                        <div class="col-xl-5 search-result pole-zainteresowac no-background-image">
                            <a class="no-color" href="./o-nas/"> O nas </a>
                        </div>
                    </div>';        
            }
            else if ($post->post_type == "co_nowego") {
                echo '<div class="row">
                        <div class="col-xl-5 search-result pole-zainteresowac no-background-image">
                            <a class="no-color" href="./co-nowego/"> Co nowego </a>
                        </div>
                    </div>';
            }  else {
                echo '<div class="row">
                        <div class="col-xl-5 search-result pole-zainteresowac no-background-image">
                            <a class="no-color" href="<?php echo esc_url(get_permalink()); ?>"><?php the_title(); ?> </a>   
                        </div>
                    </div>';        
                } ?>
    <?php endwhile; else: ?>
<!-- 404 SEARCH -->
    <div class="404-search">
        <?php _e("Oops... We couldn't find what you were searching for. Please try again"); ?>
            <div class="row">
                <div class="col-xl-6 search-form-2">
                    <?php get_search_form(); ?> 
                </div>
                <div class="col-xl-1 szukaj-label">
                    <p>Szukaj</p>
                </div>
            </div>
    </div>
<!-- / 404 SEARCH -->

        <?php endif; ?>
    </div> <!-- end "col-xl-10 border-left-right" -->
    <div class="col-xl-1 jasne-tlo right">
        <img class="strzalka-dol-przewodnik" src="<?php echo get_stylesheet_directory_uri(); ?>/img/STRZALKA_DOL-04_cropped_long.svg" />
        </div>
    </div>  <!-- END "row przewodnik-wstep" -->
    </div> <!-- END "container przewodnik" -->
    </div> <!-- END "container-fluid-wrapper -->
    <?php get_template_part( 'template-parts/footer-menus-widgets' ); ?>
    <?php
    get_footer();

当我不尝试重定向那些自定义的post类型时(当我不使用带post类型的if语句时),搜索结果将被正确显示。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-05 16:16:52

这里可能没有为post类型检查定义$post ..。如果选中$post->post_type == "zespol",则将其更改为:

代码语言:javascript
复制
if ( get_post_type() === "zespol" ) {
    // do something...
}else if ( get_post_type() === "co_nowego" ) {
    // do something else...
}else {
    // default to this...
}

更新

您需要修复最后一个echo情况下的else语句,以便使用如下所示的级联:

代码语言:javascript
复制
echo '<div class="row">
    <div class="col-xl-5 search-result pole-zainteresowac no-background-image">
        <a class="no-color" href='. esc_url(get_permalink()) .'">'. get_the_title() .'</a>   
    </div>
</div>';
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66495884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档