搜索结果计数但没有正确显示- Wordpress



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

<?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();

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

$post可能没有在这里定义您的帖子类型检查…将$post->post_type == "zespol"更改为:

if ( get_post_type() === "zespol" ) {
// do something...
}else if ( get_post_type() === "co_nowego" ) {
// do something else...
}else {
// default to this...
}

你需要修复你的echo语句为最后的else情况下使用连接如下:

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>';

最新更新