您当前的位置:首页 > TAG信息列表 > pre-get-posts
如何实现POST_STATUS_NO_IN?
如何获取除垃圾和草稿之外的所有状态的帖子function pre_filter( $query ){ if ( isset( $_GET[\'post_type\'] ) && $_GET[\'post_type\'] == $this->post_type ) { if ( !isset( $_GET[\'post_status\'] ) ) { $query->set(\'p
在与主循环相同的查询中获取POST元数据
我有一个自定义的post类型“staff”,每个都作为一个自定义字段“\\u staff\\u purpose”(描述其功能)。我想要档案馆的工作人员。php模板显示所有工作人员,按其\\u staff\\u目的排序,这样我就可以使用\\u staff\\u目的作为标题循环结果。我想要的结果如下:ID | post_title | _staff_purpose ----------------------------------------- 1 | Tracy Ch
如何显示未来的帖子-修改后的查询仍会生成404
我有一个非常奇怪的问题,我被卡住了。我希望单个页面显示post\\u状态为publish and future的帖子。因此,我将此代码添加到我的函数中。我的主题中的php:function display_future_posts() { global $wp_query; if( !is_admin() && $wp_query->is_main_query() && $wp_query->is_single()) {
使用PRE_GET_POST过滤掉帖子、分页问题
我正在尝试解决如何在动态筛选帖子时解决分页问题。我在分类档案上方有一个下拉框,允许用户根据自定义字段对帖子进行排序或筛选。这些帖子在第一页上过滤得很好。我的问题在我从第二个或更深的页面过滤帖子时就出现了,因为过滤掉它们也会减少现有页面的数量。这会为我返回404错误。我想知道如何将此修改为check if the page exists, 如果不是。。。返回第一页。$paged = ( get_query_var(\'paged\') ) ? get_query_var(\'paged\') : 1;按要求
Pre_get_post和博客页面
我正试图以一种恰当的方式设置我的新主题。我为我的新主题创建了一个名为“template home.php”的自定义主页,然后创建了一个“blog”页面。我转到“设置”,将“阅读”设置更改为“静态页面”,将首页设置为主页模板,然后将“帖子页面”设置为“博客”。我没有为该页面分配自定义模板。据我所知,指数。php文件将用于获取这些帖子。我一直在尝试使用is_page() 和is_category() 如果是博客页面,那么就获取博客帖子。我的希望是,当第一次打开主题时,所有帖子都会显示在首页上,但如果我访问了博
自定义帖子类型的所有类别的条件标签
我需要一个条件标记,它在添加到特定自定义帖子类型的所有类别上返回true。使用conditional tags 从抄本上找到的,但仍然卡住了。我想做的是按标题顺序排列所有类别中添加到CPT中的所有帖子。这是我用于CPT归档的内容,它可以工作:add_action(\'pre_get_posts\',\'wpsites_cpt_loop_filter\'); function wpsites_cpt_loop_filter($query) { if ( ! is
Pre_Get_Post根本不触发
我正在尝试将自定义帖子类型添加到seach工具中,以便它搜索这些帖子以及网站上的页面。我已经看到了pre\\u get\\u posts功能,并在我的主题功能中进行了如下设置。php文件,但它根本没有启动。我将get\\u current\\u screen()函数放在那里进行测试,但它不返回任何内容。function searchAll($query) { if ( !is_admin() && $query->is_main_query() ) { i
尝试从主页的首页中排除前5个帖子
我正试图从主页的第一页中排除前5篇帖子,但我无法做到这一点。这是我想遵循的模式:第1页:第5后、第6后、第7后、第8后、第9后第2页:第10后、第11后、第12后、第13后、第14后第3页:第15后、第16后等第n页=Post(n-1),Post n,Post(n+1)(用数学术语)因此,我尝试使用pre\\u get\\u posts挂钩,并将以下内容添加到我的functions.php 文件:function my_function_for_excluding_posts( $query ) {
使用会话过滤帖子--这是一件坏事吗?
我有一个post类型的存档,在侧栏中进行过滤,在底部进行分页。我最大的问题之一是我总是会失去$_POST 在页面刷新时单击分页时进行筛选。我决定将过滤变量存储在$_SESSION 在页面发布时使用变量,然后将这些变量与pre_get_posts 获取我的筛选帖子。我的$_SESSION 是一个过滤器变量数组,它在多个页面中持续存在(不刷新、分页),并在用户访问非post_type_archive() 或者每当用户提交筛选表单时。据我所知,它很有效。我向一位朋友展示了我的变通方法,他认为$_SESSIONS
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_POST筛选元查询而不与现有元查询冲突
我在所有帖子上都有一个meta\\u键,用于检查当前用户角色,并且仅当用户具有可接受的用户角色时才返回帖子。我遇到的问题是,我的meta_查询在pre_get_posts 与我在整个站点中设置的现有元查询冲突。我是否做错了什么,这是不可能的,还是有其他解决方案可以解决我的问题?add_action(\'pre_get_posts\', function ($query) { // dont filter admin posts if(is_admin()) ret
对多个键和比较值使用META_QUERY
我想我可能是在用这根棍子乞求月亮,但是:我有一个过滤器shows 自定义帖子类型。过滤器使用附加到的标准分类法shows, 但也允许用户按场馆过滤,这是每个节目的元值,或者按月份过滤,因为每个节目都附有开始日期。我遇到的问题是,一些节目可能会跨越几个月;因此,2014年11月开始跑步,12月结束。为此,我将元数据存储如下:startdate => 20141225 enddate => 20141224 理想情况下,如果有人筛选2014年12月的节目,我希望显示1
PreGet POST-条件()和$QUERY->条件()之间的区别?
这可能是一个糟糕的问题,但内部pre_get_posts() 两者之间有什么真正的区别吗$query->conditional() 而不是仅仅添加conditional() ? 以以下示例为例:/** Themes Pre Get Posts **/ function theme_pgp( $query ) { if( $query->is_home() ) { // Run Conditional 1 }
应用Tax_Query筛选器后不显示Pre_Get_Posts Main_Query
也许有人可以帮助我确定pre\\u get\\u posts操作中遇到的问题。我以前在另一个项目中使用过相同的代码,效果很好。我甚至一行一行地看了一遍,但可能我遗漏了什么。我不确定它是什么,这是代码,我的解释如下。archive-specials.php<form role=\"form\" method=\"POST\" action=\"<?php echo site_url(\'specials\'); ?>\"> <?php echo wp_nonce
Pre_Get_Posts操作中的多个orderby
我过去能够按2个条件对查询结果进行排序(“先按状态=未售出的ASC,然后按日期描述排序结果”),如下所示:add_action( \'pre_get_posts\', \'my_get_posts\' ); function my_get_posts( $query ) { if (is_admin()){ return; } if (is_post_type_archive(\'objet\')){
在Pre_Get_POST操作中按多个orderby参数对WordPress存档进行排序
实际上这是我函数中的私有函数。php可以工作,但是:我经常在第一次加载时收到服务器的错误500,通常它在重新加载页面后呈现。## change the sorting order on archive pages: order archive by title add_action( \'pre_get_posts\', \'gpsp_change_sort_order\'); function gpsp_change_sort_order($query) { if(is_ar
使用PRE_GET_POST以特定顺序按元显示搜索结果
我有一个搜索查询,我限制在自定义帖子类型中搜索。当返回内容时,我将其按元值排序。后元是一个人的位置。下面的函数按预期工作,但我需要拉动帖子并按特定顺序对其进行排序。function kg_search_filter( $query ) { if( is_search() && ! is_admin() && $query->is_main_query() ) { $initial = ( !empty( $_
仅在最近发布的帖子小部件中显示特定的帖子类型
我有一个自定义的帖子类型,它是用我的主题中下面的代码在档案中显示的functions.php :add_filter(\'pre_get_posts\', \'query_post_type\'); function query_post_type($query) { if ( is_archive() && empty( $query->query_vars[\'suppress_filters\'] ) ) { $post_type
我可以将哪个操作/过滤器用于成员插件
我是Wordpress插件开发的初学者。我想在我的页面上为一个成员部件编写一个插件。我知道,这个问题的插件是可用的,但我想创建一个自己的插件;)我想在数据库中创建一个表,如下所示:ID | PostID | MemberOnly 所以,我正在搜索一个过滤器或操作,我可以使用它。到目前为止,我找到了过滤器“the\\u content”,但我没有得到post\\u ID,或者我忽略了什么?我发现的另一个操作是pre\\u get\\u posts。但是这里有同样的问题,Post\\u ID有人有主
将自定义发布类型添加到当前查询
我正在尝试创建一个插件,添加一个新的自定义帖子类型,它应该显示在与普通帖子相同的位置(首页、档案等)。Is there any functions for me to retrieve the post types which are currently being called in the query so that I can modify and add my CPT to the current query? (example stated in 2nd comment if my questi