在 WordPress 的结果页面上显示找到的帖子数量

问题描述 投票:0回答:3

我想在 WordPress 的结果页面上显示找到的帖子总数。例如“如果有人搜索‘cat’,它应该显示带有‘cat’一词的帖子计数,现在我插入了一些 PHP 代码,但它显示了已发布帖子的总数,这不是我想要实现的。请遵循此链接:https://bigfunx.com/?s=cats&id=1516&post_type=post 您将清楚地看到,为 cat 找到了 4 篇文章,并且显示计数为 28,而不是 4。我希望您能理解我想要实现的目标。期待很快可以收到你的来信。谢谢!

我尝试输入以下代码:

<?php $args = array(
'post_type' => 'post'
);
$query = new WP_Query($args);
$totalposts = $query->found_posts;
if($totalposts < 2) {
$result = "Meme";
} else {
$result = "Memes";
}
echo $totalposts . " " . $result; ?>

上面的代码显示了已发布帖子的总数,并且还具有单数和复数功能,但我知道我缺少一些正确显示结果的东西,我们将非常感谢您的帮助。

php css wordpress search themes
3个回答
0
投票

我不确定你在哪里添加该代码,但你可以尝试这个:

$args = array( 'post_type' => 'post', 's' => isset( $_GET['s'] ) ? $_GET['s'] : '')

只需在 $args 变量中添加 's' 键即可。

这不是最好的解决方案,因为您在搜索页面上进行额外的查询。但考虑到您问题中的信息应该有效。

更好的解决方案是在显示标题的页面(搜索页面)中,您可以尝试:

global $wp_query; $totalposts = $wp_query->found_posts;


0
投票

正如评论中提到的,使用 th

_n()
来复数你的字符串。

<?php
$args       = array(
    'post_type' => 'post',
);
$query      = new WP_Query( $args );
$totalposts = $query->found_posts;
echo esc_attr( $totalposts . ' ' . _n( 'Meme', 'Memes', $totalposts ) );

0
投票

是否可以将其转换为函数并通过提供短代码将其发送给我

© www.soinside.com 2019 - 2024. All rights reserved.