gpt4 book ai didi

WordPress 在不使用 get_posts() 的情况下获取帖子数量?

转载 作者:行者123 更新时间:2023-12-03 06:53:16 24 4
gpt4 key购买 nike

需要一个专门设计用于获取符合条件的帖子数量的函数调用。我认为 get_posts() 函数对于此操作来说太昂贵了。我只是想决定当有预定义数量的帖子要显示时是否显示“查看更多帖子”链接...

例如,默认显示的帖子链接数为 3。我只想在帖子总数超过 3 时显示“查看更多帖子”链接。

这是我的代码...

$cat1=get_cat_ID('test');
$cat2=get_cat_ID('test2');
$myposts = get_posts(array('cat' => "$cat1,-$cat2",'showposts' => 3));
$myposts2 = get_posts(array('cat' => "$cat1,-$cat2"));
$mypostcount = count($myposts2);
foreach($myposts as $idx=>$post)
?>
<li><a>Post Info Goes here</a></li>
<?php
if ($mypostscount > 3){ ?>Show View All Link<?php ?>

最佳答案

你的问题不完全清楚,所以这里有两种方法。

首先,如果用户正在查看类别页面并且您想要显示此信息,您可以简单地使用以下内容:

$myCount = $wp_query->found_posts;

这将返回上次查询找到的帖子数。

如果你想计算每个类别的帖子数量,比如说主页,我会简单地通过 PHP/MySQL 来计算。这是一个例子:

SELECT COUNT( DISTINCT cat_posts.ID ) AS post_count 
FROM wp_term_taxonomy AS cat_term_taxonomy
INNER JOIN wp_terms AS cat_terms ON cat_term_taxonomy.term_id = cat_terms.term_id
INNER JOIN wp_term_relationships AS cat_term_relationships ON cat_term_taxonomy.term_taxonomy_id = cat_term_relationships.term_taxonomy_id
INNER JOIN wp_posts AS cat_posts ON cat_term_relationships.object_id = cat_posts.ID
WHERE cat_posts.post_status = 'publish' AND cat_posts.post_type = 'post' AND cat_term_taxonomy.taxonomy = 'category' AND cat_terms.term_id = '13'

我刚刚测试过,它工作正常。从查询中获得返回后,只需抓取该行,然后执行以下操作:

echo $row['post_count'];

或者任何你喜欢的数据。要更改类别,您只需更改最后一个 WHERE 子句的 term_id

cat_terms.term_id = '13'

将 13 更改为您想要数的猫。

如果您想按类别名称进行操作,您可以更改最后一部分

cat_terms.term_id = '13'

cat_terms.slug IN ('cookies', 'uncategorized') or cat_terms.slug IN ('cookies')

第一个将从多个类别中进行选择,第二个将从一个类别中进行选择。希望这会有所帮助,

关于WordPress 在不使用 get_posts() 的情况下获取帖子数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2134022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com