您当前的位置:首页 > TAG信息列表 > pre-get-posts
首先对具有元值的帖子进行排序,然后对其余帖子进行排序
我使用pre\\u get\\u posts钩子自定义我对自定义post类型存档的查询。此自定义帖子类型的某些帖子具有元键mp\\U micropub\\U认证,元值为1,其他帖子没有此元键集。我使用以下代码, function micropubs_filter_posts( $query ) { if ( !is_admin() && $query->is_post_type_archive( \'micropubs\' ) && $query->is_main_qu
在PRE_GET_POST中插入变量
我在谷歌上搜索过,但运气不好。我正在尝试向此代码中添加一个变量,以修改主页中帖子的类别:代码不工作:<?php $p = $_GET [\'p\'] ;?> <?php $catvar = get_cat_ID($p); ?> <?php function my_home_category($query) {$query->set(\'cat\', $catvar);}add_action(\'pre_get_posts\', \'my_home_ca
如何有条件地向WordPress搜索传递参数以限制帖子类型?
我有一个包含自定义帖子类型“artwork”的小节的网站我有一个全面的网站搜索工作如何,我想它-它搜索我的所有帖子和自定义帖子类型。我想在我的artwork小节中添加第二个搜索,它只搜索“artwork”自定义帖子类型。我知道我可以这样限制我的搜索结果:function mySearchFilter($query) { if ($query->is_search) { $query->set(\'post_type\',\'artwor
PRE_GET_POST带有特定标签的所有帖子和自定义帖子类型
我想显示我的所有帖子和自定义帖子类型页面,如果它们在我的主页上有特定的标签。这是我的代码,但我无法使用它:add_filter( \'pre_get_posts\', \'get_posts_plus_cpt_with_certain_tag\' ); function get_posts_plus_cpt_with_certain_tag( $query ) { if ( is_home() && $query->is_main_query() )
PRE_GET_POSTS:仅对某些过帐类型使用TAX_QUERY
我有默认的帖子类型帖子(帖子类型:post) 和自定义帖子类型帖子(帖子类型:cpt). 后者有分类法(cpt_tag).我想在我的首页上显示所有默认的帖子类型帖子(未过滤)、和一些cpt 帖子类型帖子,仅当它们具有特定cpt_tag.代码为:add_action( \'pre_get_posts\', \'get_posts_plus_cpt_with_certain_tag\' ); function get_posts_plus_cpt_with_certain_tag( $que
减少或阻止调用UPDATE_META_CACHE
我的主题每页调用update\\u meta\\u cache()函数58次!此函数将根据相关帖子运行以下查询:SELECT post_id, meta_key, meta_value -> FROM wp_postmeta -> WHERE post_id IN (81649) -> ORDER BY meta_id ASC -> ; 返回的绝大多数meta\\u键(以及相应的值)对于相关页面不是必需的(例如,主页循环不需要yoast\\
Pre_Get_Posts隐藏“存档”类别中的Everywhere帖子
我想隐藏一些帖子,从饲料,搜索和几乎一切,除了URL到这篇文章。有所谓的档案。私人帖子也不是一个选项,因为带有URL的未登录用户也应该看到它。我使用了WP hide posts插件,但它给我的站点带来了非常大的负载(我每分钟大约有60-70个负载),我想创建自定义函数,但我对WordPress API和函数不太熟悉。但就我所读的codex而言,pre\\u get\\u post会在形成查询之前完成,所以据我所知,它不应该产生这么大的负载。这是我需要你帮助的部分,以确保我朝着正确的方向前进。因此,第一部分
如何在搜索页面上重置通常的$查询以推送自定义$wpdb查询?
一、 最近发布了2个问题(First, Second) 没有回答。我为他们俩找到了解决办法。但现在是时候对事情进行微调了。如果我能在这里进行微调,我可以回答这两个问题。为什么要微调?因为procedural raw PHP coding 在之前更少WordPress\' way.<?php function project_modify_default_search( $query ) { if( $query->is_search && $query-
在Pre_Get_Posts中包括来自要素类别的帖子
我有两个自定义分类法“cities taxonomy”和“userfeed taxonomy”,我排除了所有在我的博客页面中使用pre\\u get\\u post()分配这些分类法的帖子;这是我的问题add_action( \'pre_get_posts\', \'my_filter_main_query\' ); function my_filter_main_query( $query ) { if ( $query->is_home() &&
按元关键字的元数过滤查询帖子
我知道可以通过meta的数值来过滤查询以订购帖子。例如,我在single 元密钥: $query->set(\'meta_key\', \'total_likes\' ); $query->set(\'orderby\',\'meta_value_num\'); $query->set(\'order\', \'DESC\'); 但我想按最近查看的项目筛选我的查询以订购帖子为了实现这一点,我将
为什么Pre_Get_Posts挂钩会导致Apache停止工作?
我的所有帖子都有一个名为\'validity\' 我在那里指定日期,直到帖子生效。我的分类法档案显示了所有的帖子。现在我想在那里过滤,并排除无效的帖子。我写道:function e_exclude_posts( $query ) { if( $query->is_tax(\'my_tax\') ) { $query->set( \'post__not_in\', array( 530 ) ); } } add_action( \
未维护PRE_GET_POSTS中的查询变量更改
我正在创建一个插件,添加一个自定义提要。我正在使用pre_get_posts 过滤器以更改posts_per_page 将var查询到-1(以获取自定义帖子类型的所有项目)。但是,如果我将$wp_query 在渲染函数中,posts_per_page 保持默认值。我也测试了改变posts_per_rss 到-1,我确实看到了在查询中所做的更改(当然,它对生成的帖子没有任何影响)。我还尝试将主题更改为默认主题并进行测试,但结果相同。谁能解释一下为什么我不能改变posts_per_page 查询变量?defi
在Posts2Posts的“parse_Query”或“PRE_GET_POST”中使用WP_QUERY
UPDATE: 钩子正在使用“经典”Wordpress过滤器(如post__in), 所以这可能是Posts2Posts的问题。如果有人有任何想法,我仍在寻求建议。ORIGINAL POST我正在尝试在归档页面中按问题编号显示所有帖子。问题是一种自定义的帖子类型(与post2post链接,这就是我使用parse_query 而不是pre_get_post)<?php function categories_by_issue ($query) { if (!
Pre_Get_POST的排序和限制
这是我关于WP查询和pre\\u get\\u帖子的第三个问题(很抱歉),但我不能在成功之前放弃一步:)因此,我的问题是,将头版帖子限制在只有特色图片的帖子上。到目前为止还不错。我的最后一个目标是按自定义字段对这些帖子进行排序,按ASC顺序对它们进行排序,并仅显示图元键/自定义字段日期在30天内的帖子。到目前为止,这是我的代码和我的尝试,但似乎我还没有接近。。。当前排序混乱。对于只显示未来30天内帖子的第二部分,我想到的是设置一个保持当前日期+30天的var,一个具有自定义字段日期的var,并且要检查的是
如何从其他网站获取内容并进行展示?
我想从其他网站获取内容,并将其显示在我的WordPress网站上。示例:我想从中获取描述文本http://filehippo.com/download_adobe_reader/并在我的网站上显示。或添加为自定义字段!谢谢
自定义帖子类型上的pre_get_post
我有一个自定义的帖子类型,当我使用自定义的wp\\u查询时,它可以在页面上很好地显示帖子,但是这会破坏分页,所以我尝试使用pre\\u get\\u posts来代替,因为我已经在使用它来处理分页偏移,并且可以在普通帖子上找到。但是,当我尝试使用pre\\u get\\u posts设置特定页面/帖子类型的帖子类型时,它显示了404。我确实有一篇自定义帖子,其名称中的字符串与自定义帖子类型中的字符串相同;\'“业务挑战”是帖子类型,“面对业务挑战”是它重定向到的帖子。自从我删除了那篇帖子,现在只显示了40
使用PRE_GET_POST更改每页帖子和偏移量
我有一个过滤器,它使用pre\\u get\\u posts将新闻登录页上每页的帖子数量从4个更改为所有其他页面(第2、3页等)上的8个。然而,我似乎没有得到正确的偏移量,或者别的什么,因为我的get_next_posts_page_link 不显示第3页,即使手动转到url时它确实存在。当前偏移量是我偶然想到的,我认为它在第2页是正确的,但当我添加更多的测试帖子时,我意识到它不起作用。function page_2_posts_per_page_filter( $query ) {
将参数添加到默认查询
我正在使用ACF创建索引的“特色”帖子部分。php和我很难从主查询中排除该帖子。 <?php $tmp = $posts; $isPaged = (get_query_var(\'paged\') == 0) ? false : true; $posts = get_posts(array( \'numberposts\' => 1,
在顶部显示粘滞帖子,但不在循环中再次显示?
关于wordpress。组织-粘性帖子显示在顶部,但它们也会再次出现在循环中。对于我主页上的主循环,我希望在顶部显示粘性帖子,但我不希望帖子再次出现在循环中,否则对访问者来说是多余的。下面代码的问题是,他们从顶部移除了粘性贴子我想将粘性贴子保留在顶部,但将其从循环中删除/排除。这可能吗?代码A:这将从顶部删除粘性帖子function mango($query){ if ( $query->is_home() && $query->is_main_query() &
在自定义查询中仅显示一个帖子表单中的帖子,并在主查询中排除
我试图先显示四篇带有post format的文章(全部分配给当前标记),然后显示特定标记的“真实”存档(不包括post format)。现在,我正在使用一个函数将post格式排除在主查询之外:add_action(\'pre_get_posts\', \'keyl_get_emp_posts\'); function keyl_get_emp_posts($query) { if (is_tag()) { if ($query->is_main_query()) $