在我的WordPressV5中。7我的分类法中有以下代码。php
模板,以获取该分类术语中的自定义post_类型posts计数。
// CURRENT TERM
$term = get_queried_object();
$bookArgs = array(
'post_type' => 'book',
'post_status' => 'publish', // get only publish posts
'posts_per_page' => -1, // get all posts
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => $term->taxonomy,
'field' => 'term_id',
'terms' => $term->term_id
)
)
);
$total_book_arg = new WP_Query($bookArgs);
$total_book_count = $total_book_arg->post_count;
上面的查询执行该任务,并获取当前术语中发布的自定义post_类型总数。
然而,这个查询似乎得到了所有的posts数据,只是为了计算数字,我在同一个分类法中有多个查询。php
页面可查看其他4种自定义帖子类型。
因为SQL查询可以节省大量的时间和更好的性能,所以我尝试了以下SQL查询相同的自定义post_type计数为taxonomy.php
模板。(我的SQL技能非常少)。
下面的SQL似乎没有给我计数:
$SQLquery = "SELECT COUNT * FROM $wpdb->posts
LEFT JOIN $wpdb->term_taxonomy ON($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
WHERE $wpdb->term_taxonomy.term_id IN ($term->term_id)
AND $wpdb->term_taxonomy.taxonomy = $term->taxonomy
AND $wpdb->posts.post_type = 'book'
AND $wpdb->posts.post_status = 'publish'";
echo $wpdb->get_var($SQLquery);
如何使上述SQL查询在获取自定义post_类型计数时起作用?
说SQL查询更好更快是一个神话,完全是胡说八道。WP_查询的WP_
只是一个参数包装器,它是为了方便用户而设计的,但它与常规SQL查询一样高效(甚至更好)。
您需要以正确的方式使用参数。post_count
和found_post
是有区别的。
post_count
每页只会返回帖子,这是低效的,并且会迫使您先加载每一篇文章,以便能够计算它们。一个实际的用例场景是search.php
页面上的每页结果。 found_posts
是您正在寻找的;它将从您的关联查询中获取帖子计数,而不管加载的帖子数量如何。直接从桌子上下来。正确查询的一个有效方法是:
<?php
if ( get_queried_object() instanceof \WP_Term ) {
$args = array(
'post_type' => 'book',
get_queried_object()->taxonomy => get_queried_object()->slug,
);
$query = new WP_Query( $args );
echo $query->found_posts;
wp_reset_postdata();
};
?>
get\u queryed\u object()instanceof\WP\u Term
。phppage,您应该检查它是否确实是一个WP\u术语
对象
尝试下面的查询。
global $wpdb;
$SQLquery = "
SELECT $wpdb->posts.ID FROM $wpdb->posts
LEFT JOIN $wpdb->term_relationships
ON ( $wpdb->posts.ID = $wpdb->term_relationships.object_id )
WHERE 1=1
AND ( $wpdb->term_relationships.term_taxonomy_id IN ( $term->term_id ) )
AND $wpdb->posts.post_type = 'product'
AND ( ( $wpdb->posts.post_status = 'publish' ) )
GROUP BY $wpdb->posts.ID ORDER BY $wpdb->posts.post_date DESC
";
$SQLqueryCount = $wpdb->get_results($SQLquery,ARRAY_A);
echo count($SQLqueryCount);
我试图为自定义帖子类型创建一个页面,但我无法真正实现。以下是我正在尝试的全部内容- 自定义帖子类型注册的functions.php片段 我使用名为单Tutorial.php的模板为这个自定义帖子类型模板。此外,在我的帖子显示中,我使用the_permalink()链接到帖子。 现在考虑一个标题为Test3的帖子现在在我的仪表板上,我看到它的PyMalink AS。 当我回显我得到的_permali
我有这个页面模板,很久以前由别人开发的,它根据我的帖子所在的类别在网格中显示我的所有帖子。 现在,我想为我的自定义帖子类型创建这样一个页面,但我无法让它工作。我试着换了新的 具有 这似乎是我到处寻找的答案。但对我来说,它是空洞的。在原始的页面模板下面,我想改变这个,这样它就可以加载“商店项目”自定义帖子类型。 任何正确方向的帮助或点头都将不胜感激!
1. 简介 分析云作为企业进行全域用户行为数据分析的数据中台,需要满足企业不同业务角色的各类差异化分析需求。 其中,对于企业深度结合业务模式的定制化需求,分析云平台提供了“自定义SQL查询”的功能,支持业务人员自行编辑复杂的 SQL 查询语言,实现对平台数据仓库中最底层的细粒度用户行为数据进行分析操作,以获取当前分析云平台既有数据模型无法覆盖的个性化分析需求的结果。 2. 使用说明 当前 sql
有人能帮我解决这个该死的pagenavi问题吗?我一直在尝试在stackoverflow和其他论坛上找到的所有可能的解决方案,但当我想访问pagenavi的第二页时,仍然会遇到404错误。 我尽可能地精简了代码。这应该管用,对吧? 更多信息:我正在使用一个自定义页面模板,网站上不同的自定义帖子类型,还有一个博客,其中包括panenavi(确实有效)。我也尝试重置永久链接每次我改变代码,也没有帮助。
1. 简介 分析云作为企业进行全域用户行为数据分析的数据中台,需要满足企业不同业务角色的各类差异化分析需求。 其中,对于企业深度结合业务模式的定制化需求,分析云平台提供了“自定义SQL查询”的功能,支持业务人员自行编辑复杂的 SQL 查询语言,实现对平台数据仓库中最底层的细粒度用户行为数据进行分析操作,以获取当前分析云平台既有数据模型无法覆盖的个性化分析需求的结果。 2. 使用说明 当前 sql
我有一种不同的邮政订单,我试图返回,但我找不到任何有答案的地方。我使用wp_query尝试按元值列表排序帖子。然而,非标准orderby选项做什么,我试图实现。 我的元值存储为逗号列表字符串,如下所示: 1, 5, 10, 3, 21, 6 然后我获取这些值并将其分解为如下数组: 我做了一个标准的wp_query,但问题是,我试图按照我的$banner_nums变量中的实际顺序来排列这些帖子的显示