您当前的位置:首页 > TAG信息列表 > pre-get-posts
基于自定义分类元表的全局帖子查询
我已经完成了为我的站点中的自定义帖子类型创建自定义分类法+管理面板的过程。这些分类法将各种元数据存储在wp_taxonomymeta 表,并使用get\\u metadata/set\\u metadata来获取和设置这些字段的值。此分类法中的一个字段是启用/禁用标志。我想全局排除禁用标志设置为true的帖子。我正迷上pre_get_posts, 但我不知道如何修改查询以便在wp_taxonomymeta 用于在查询中排除应隐藏的帖子。有人能对此提供一些见解吗?我在谷歌上找不到多少有用的建议。如果需要澄清
使用PRE_GET_POSTS排除具有特定标记的自定义发布类型
我有一个归档页面,其中列出了一个名为“事件”的自定义帖子类型。我有标记为“regular”的事件帖子(标记的id为53)。我想把这些排除在外。我尝试使用pre\\u get\\u posts,然后使用$query->set(\'tag\\uu not\\u in\',array(\'53\')),但我认为tag\\uu not\\u in不能用于自定义post类型。有没有办法解决这个问题?add_action( \'pre_get_posts\', \'exclude_regular_tag\');
pre_get_posts post_meta event
我希望pre_get_posts 筛选中显示的帖子archive-events.php 和taxonomy-eventcat.php 模板。我有一个post_meta 正在使用命名o_event_start 将值存储在DATETIME (2014-12-31 21:30:00)格式,我希望显示所有事件(cpt)今天(仅在第1页)正在使用WP_Query</明天(仅在第1页)将使用WP_Query</未来会发生,但不会today 或tomorrow (paged)已经发生了(paged)3和4需
使用其他帖子扩展分类术语页面
我有一个简单的分类术语页面,其中列出了连接到特定术语的帖子。我会将一些不同的(与该术语无关)帖子注入到该循环中。我试过了pre_get_posts 行动,但无济于事。当我将所有ID放入post__in 仅过滤连接该分类术语的循环返回帖子。你知道我怎样才能解决这个问题吗?
在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() &&
WP_QUERY生成的SQL语句未生成预期结果
我正试图改变WP_Query 在pre_get_posts 动作挂钩,用于过滤返回的帖子,具体取决于内置category 和post_tag 分类法。我希望查询返回的唯一帖子要么两个分类法都没有注册,要么两个分类法都没有为帖子设置术语,或者,最后一种情况是,两个分类法都有特定的值。法典中有规定WP_Query 为此目的应使用“嵌套分类法”的页面(see here).虽然在我的特殊情况下,它不起作用-以下是我的代码:// In a function hooked on \'pre_get_posts\' a
同一页上两个循环的PRE_GET_POST
我在主页上使用了两个循环,一个是显示最新的3篇帖子,另一个是显示剩余的帖子减去前3篇帖子。我将以下代码用于pre\\u get\\u帖子。function tax_and_offset_homepage( $query ) { if ( !is_admin() && $query->is_home() && $query->is_main_query() ) $query->set( \'post_type\', array( \'p
如何将搜索查询显示为格式化文本?
我试图在搜索页面上显示网站访问者搜索查询。表单有自定义字段,因此不显示是否为“搜索”,也不显示任何自定义字段。我的搜索表单-<!-- Search Form --> <section class=\"searchMain sm2\"> <form method=\"get\" id=\"searchform2\" action=\"<?php echo home_url(); ?>/\"> <input type=\"hidde
在WP搜索中搜索两个字符串
在里面functions.php 我有以下过滤器:function checkForAa($query){ if($query->is_search){ $search_string = get_query_var( \'s\' ); if( stripos( $search_string , \'aa\' ) !== false){ $new_string = str_ir
子页面不受Orderby影响
我的循环也不会按我希望的顺序对正在显示的子页面排序ASC 或DESC.我已经看到了许多其他类似的问题,但这些问题通过禁用插件(我没有)或删除或添加引号(我已经检查了多次)得到了解决。<?php $args = array( \'post_type\' => \'page\', \'post_parent\' => \'faq\', \'orderby\' => \'menu_order\', \'order\'
使用PRE_GET_POST过滤帖子
我正在尝试筛选archive\\u research。php仅显示status=current的研究。在函数中。php:add_action( \'pre_get_posts\', \'only_current\' ); function only_current( $query ) { if ( $query->is_main_query() ) { $args = array( \'post_type\'
按自定义帖子类型和自定义日期字段存档
我创建了一个custom post type 调用\'events\' 和custom date field 调用\'event_date\' .我可以使用this awesome plugin 这个插件允许我以以下格式创建存档列表url:www.example。com/2015/11/events/到目前为止,一切都很顺利。但我想创造archives by \'event_date\' 与通常的“按发布日期”不同,so对上述插件进行了一些更改,并能够按“event\\u date”创建存档列表。当我点击
对Pre_Get_POST中的序列数组中的元值进行排序
我正在使用pre\\u get\\u posts和meta\\u value自定义类别中的帖子显示。每个人都会收到一个meta\\u值帖子,并希望它们按照数组的顺序排列。我希望这样(1)sec\\u a(2)sec\\u c(3)sec\\u b。结果表明,顺序是字母的首字母缩写,结果看起来像sec\\u a、sec\\u b和sec\\u c。我如何修复?function pregp_wpse_97354($qry) { if (is_category(2) && is_ma
自定义帖子类型显示分页(w/404)或POSTS_PER_PAGE查询,但不能同时显示两者
我有一个自定义的帖子类型gallery, 我正在使用一个模板来存档page-student-gallery.php. 我的管理设置显示的帖子是5,我想它显示9在这个页面上,其中只包含画廊项目。我已经能够管理查询,它可以显示9篇文章或5篇底部分页的文章,这会导致404错误。我一直在检查执行此操作的代码,但每个人似乎都有不同的方法来解决问题,并且没有一个解决方案对我有效。存档页的我的代码:<?php $paged = (get_query_var(\'paged\')) ? get_query
为什么我的查询第一页以外的任何东西都得了404分?
我的帖子页面上有一个过滤导航栏,上面有“全部”和一些类别(“策略”、“设计和用户体验”、“技术”和“公司和文化”),可以使用pre_get_posts 显示属于这些特定类别的帖子。这就是我的functions.php: function owr_blog_topic_endpoint() { add_rewrite_endpoint( \'topic\', EP_ALL ); } add_action( \'init\', \'owr_blog_topic_endpoin
CPT存档Pre_Get_POST不起作用?
我很困惑为什么下面的内容不起作用,我在自定义帖子类型的本地景点中有半打帖子,但下面告诉存档页面只显示1(用于分页导航)。关于存档当地景点的普通代码。还有php页面,我很困惑,有人能帮我吗?add_action( \'pre_get_posts\', \'custom_post_type_archive\' ); function custom_post_type_archive( $query ) { if( $query->is_main_quer
如何正确地将操作挂钩函数调用的函数添加到函数.php中?
我正在用一个函数修改我的主要查询,modify_main_query($query), 它确定用户通过if/else语句访问哪个页面,然后相应地修改查询。我使用此挂钩添加该函数:主函数的挂钩add_action(\'pre_get_posts\', \'modify_main_query\')中的一个我的if子句(针对某一页)modify_main_query($query) 调用一个小函数,称为get_exclusion_IDs_for_cats_by_name($cat_names).这是一个简化版
带有WP_QUERY的PRE_GET_POST以阻止来自特定标签的帖子
我发现this post 关于如何更改特定查询,但找不到执行以下操作的方法:我在主页上有几个查询,从类别中检索帖子,从“New”中检索帖子,从“Recipes”中检索帖子,从“Promo”中检索帖子,等等。我在顶部有一个滑动区域,显示所有类别中使用“featured”标签的帖子How can I prevent all other queries on home from retrieving posts using \"featured\" tag so posts using the tag do n
自定义帖子限制只对主页没有插件?
我有一个wordpress网站,我的最新帖子显示在主页上,比我的其他帖子大。从第2个帖子开始,帖子将显示在网格中。除了第一页之外,我每个页面都有6篇文章的分页,我需要7篇文章,因为最近的一篇文章是最大的,占据了两个网格空间。我可以通过插件自定义帖子限制来完成这一点,但我想知道是否有一种不依赖插件的方法。我尝试过pre\\u get\\u帖子,但不知道如何在第1页上指定7篇帖子,然后在每一页上指定6篇帖子。我试过类似的方法,但没有效果。请帮忙!function custom_posts_per_page($
使用PRE_GET_POSTS进行分类帖子计数
我正在尝试使用pre\\u get\\u posts在分类法类别页面上显示自定义数量的帖子。我可以将其用于单个帖子类型(分类法),但如果我尝试使用多个帖子类型(例如在一个数组中),则无法使其工作。我对php不是很在行,在这里做一点指导会很棒的。以下是我现在的工作内容:// Change the number of posts that show up on the taxonomy template function custom_tax_post_count ( $query ) {