您当前的位置:首页 > TAG信息列表 > pre-get-posts
用自定义查询替换主查询
我想用自己的自定义查询替换主查询。问题是我不想经历手动寻呼的麻烦。我知道有个过滤器posts_results 但我不知道如何准确地使用它,我找不到关于它的大量信息。看起来像是pre_get_posts 只是更改查询,而不是完全替换查询。我试图将我的查询转储到$posts 但后来我失去了寻呼功能。有办法解决这个问题吗?我正在使用$posts = wpdb->get_results($query); 将主查询替换为我自己的查询。$query 是我的自定义SQL。我正在将上面的代码片段添加到下面get_h
PRE_GET_POST中的IS_CATEGORY()出现奇怪错误
我有一个函数,可以根据查看的类别设置posts\\u per\\u page选项。我发现了一个我无法真正理解的错误:首先,这是我如何得到错误的:function custom_posts_per_page($query) { if ( !is_admin() && is_category(4)) { // Leaving this empty or with content } }
如何按元值对“PRE_GET_POSTS”中的排序进行二次排序或将单个日期和时间组合成时间戳
这在某种程度上是我问过的另一个问题的持续问题。这是原始帖子。pre_get_post filter returns results when there should not be从那时起,我添加了orderby子句。。。。 if ($post_ids) { $wp_query->set(\'post__in\', $post_ids); $wp_query->set(\'meta_key\', \'_start
为什么‘Pre_Get_Posts’没有效果?
我第一次尝试使用pre\\u get\\u帖子,但没有成功。这是一段非常简单的代码,位于一个空主题的索引页上,纯粹是为了了解动作挂钩的窍门:function just_one( $query ) { $query->set( \'posts_per_page\', 1 ); } add_action( \'pre_get_posts\', \'just_one\' ); 从我读到的内容来看,我看不出这有什么错,但当我在下面运行时:echo get_q
Pre_Get_Post操作不起作用
我试图在中只加载两种类型的帖子(“新闻”和“评论”)home page 使用pre_get_posts: // Load Home Page Posts( reviews and news ) function search_home_posts( $query ) { if( $query->is_home() && $query->is_main_query() && !is_admin() ) { $quer
Jetpack无限滚动与主题的PRE_GET_POSTS自定义POST_PER_PAGE冲突
我的主题当前函数使用pre_get_posts, 目前正处于我的主题功能的底部。php文件:function mytheme_portfolio_archive_pages( $query ) { if ( is_admin() || ! $query->is_main_query() ) return; if ( is_post_type_archive( \'mytheme_portfolio\' ) ) {
对PRE_GET_POST使用META_QUERY排除特定的META_KEY值
我在首页的主查询上运行了一个简单的过滤器,它应该排除所有具有特定meta值的帖子(只包括没有meta\\u键集的帖子,或者meta\\u键与我们排除的内容不匹配的帖子)。但是,无论出于何种原因,它的表现都不如预期。/** * Hide posts from main query on front page. * * @since 1.0.0 * * @param object $query WP Query object. * @return
如何为所有没有帖子格式的帖子创建存档?
标题说明了一切。我需要工作分页,正确的职位计数等基本上是一个新的页面的职位,但与后格式的过滤器。到目前为止我已经尝试过的事情:1) 已为创建新的重写规则/no-formats/ 获取加载主页的页面的id。php并附加参数(?no\\u post\\u format=true)。然后连接到“pre\\u get\\u posts”,检查该参数,并在主查询中添加一个tax\\u查询,该查询排除所有具有post格式的帖子。这不起作用,因为对主页的重写规则会导致重定向到实际主页。所以/没有格式/变成/主页/我的论
如何按子帖子计数对帖子列表进行排序?
我有两种自定义的帖子类型,叫做问答。问题列表包括一个自定义列,其中显示每个问题的答案计数。我需要能够根据答案的数量对列表进行排序。此查询通过MySQL shell工作,并提供正确的输出:SELECT a.ID, a.post_title, COUNT(b.ID) AS child_count FROM wp_posts a LEFT JOIN wp_posts b ON a.ID = b.post_parent AND b.post_status = \'publish\' AND
从查询中删除类别(显示Archive.php中的所有帖子)pre_get_post()
我正在使用pre_get_posts() 允许在任何类别存档上显示所有帖子。这是因为我将提供一个使用同位素的javascript排序和过滤方法。js。任何类别页面都将输出所有帖子,但任何不属于该类别的帖子最初都将被隐藏。function show_all_cats( $query ) { if ( !$query->is_main_query() ){ return; } if ( is_admin() ){
是否在没有分页的情况下再次运行搜索查询没有结果?
更新:这个问题已经不重要了。我切换了一些代码,所以现在过滤工作正常了。看起来查询不起作用,因为我触发了indexTaxonomyCounts 来自模板的函数?但我现在有另一个问题,但将为此写一个不同的问题。原始问题:我想通过一些分类法和元过滤器过滤我的定制产品。这适用于常规查询,但不适用于我的搜索结果。至少,过滤是有效的,但获得正确的计数却不起作用。我所做的是:我加入了pre_get_posts 钩住并使用$\\u GET中的数据创建分类法和元查询。然后我存储刚才创建的查询(包括筛选),以便在结果页上计算
每页发帖数+随机+排除类别
我家里有以下代码。php<?php query_posts($query_string . \'&orderby=rand\' . \'&cat=-182,-184\'); ?> query\\u帖子似乎不是最好的解决方案。pre\\u get\\u post或WP查询的最佳方式是什么。如果您也能编写正确的代码,我们将不胜感激。谨致问候,伊夫
阻止对特定帖子类型进行pre_get_post筛选
我遇到了一个问题pre_get_post 滤器实际上我有4种帖子类型。帖子、页面、活动和地点。我为event and Vincement post type创建了一个名为city的自定义字段。创建自定义字段时,我有一个选项可以选择要在其上显示该自定义字段的帖子类型。现在,在前端部分,我添加了一个过滤器pre_get_posts 并修改了主查询以获取特定城市的所有帖子。在活动和场馆列表和单页上,一切都很顺利but this filter also applies on post and pages as w
显示每种帖子类型的搜索结果数
使用下面的代码,我的搜索返回来自两个不同CPT的结果。在显示结果之前,如何显示每个CPT的结果数?function more_posts_per_search_page( $query ) { if ( !is_admin() && $query->is_main_query() ) { if ( $query->is_search ) { $query->set( array( \'posts_pe
如何通过PRE_GET_POST从主查询中删除附件?
我正在努力找到以下问题的解决方案。主查询应仅检查页面和所选自定义帖子类型,以获取所选帖子类型名称。地址。com/flower post name[自定义帖子类型]地址。com/flower-page-name[页面]正如您所看到的,我的自定义帖子类型使用此解决方案将slug从permalink中删除vip.wordpress.com.我遇到的问题是,查询还检查是否有具有相同slug的附件。因此,尽管帖子和页面都有独特的slug,但仍然与我的媒体库存在冲突。地址。com/post名称[附件]->显示地
根据每个帖子的元密钥更改帖子顺序
我在中有这样的循环定义functions.php:function artist_list($query) { if ( is_admin() || ! $query->is_main_query() ) { return; } // Target the artists page if (is_tax(\'artist-category\')) { $query->set(\'po
使用POSTS__NOT_IN时,PRE_GET_POSTS返回非属性对象
我正在显示某个类别中的帖子,并希望使用posts\\uu not\\u in显示除第一个之外的所有帖子。下面的代码返回非对象错误的属性。function modify_onthisday_cat( $query ) { if ($query->is_category(7) && $query->is_main_query() ) { global $post, $wp_query; s
使用PRE_GET_POST重写搜索查询以显示来自多个分类的帖子
这似乎应该很简单,但我坚持到底了!如果用户搜索“alice”,我想向他们显示所有带有自定义分类术语“bob”和“carol”的帖子,无论这些帖子中是否包含字符串“alice”。我可以设置查询的tax\\u查询,使其仅显示以“bob”和“carol”为术语的帖子,但我无法重置实际搜索查询,使其显示所有帖子,而不仅仅是包含“alice”的帖子。这是我用来更改tax\\u查询的筛选器:if ( !$query->is_search ) return $query; $ta
删除主查询并替换它
有很多good resources 关于如何更改主查询或添加辅助循环。。。但我实际上想用一个不同的查询完全替换主查询。我劫持了我的一个页面,本质上是作为一个分类页面。(请注意,为了做到这一点,我正在从“页面”改为“发布”。)但当我通过这样做来更改主查询时:function front_page_announcements( $query ) { if ( $query->query_vars[\'page_id\'] == 84 && $query->is_ma
将自定义SQL查询注入页面/主题
我已经为我们的WordPress网站编写了一个自定义sql查询(相当复杂,用标准WordPress代码无法实现),我已经通过$pageposts = $wpdb->get_results($query, OBJECT);, 它产生了我所期望的结果。现在我想通过一个钩子(理想情况下)集成这个查询,这样我就不必更新主题页面,这样我们仍然可以更新主题。我知道钩子pre_get_posts() 允许您调整主查询,但从我发现的情况来看only 允许你adjust. E、 g。$query->set( \