您当前的位置:首页 > TAG信息列表 > pre-get-posts
替换/静音/停止搜索查询
我正在尝试替换WP中的搜索功能。我已经创建了search.php 包含我要显示的所有结果的模板。我不想从WP数据库得到任何结果。我只想在search.php 使用本机searchform.php 还有本地人?s=keyword URL结构。这样做是因为SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts ... 使用搜索内置查询非常耗费CPU。所以在我的主题功能中。我添加的php:add_action(\'pre_get_posts\', \'no_se
使用PRE_GET_POST更改存档页面模板
我用过pre_get_post 要在使用自定义创建的存档模板分页的存档页面中修改和显示我的自定义帖子类型,请参阅here. 它显示的帖子正是我所需要的,然而,它似乎没有使用我的自定义模板。它使用的是默认模板,尽管我已经在页面设置中设置了自定义页面模板。就像this 在默认模板中时,应为this 使用自定义模板时。每个人都知道在使用pre\\u get\\u post时如何将页面模板更改为自定义模板吗?我已经尝试了在此上找到的archive\\u videos\\u template()自定义函数link,
我可以将主循环更改为‘orderby’自定义回调吗?
我有一个自定义的帖子类型title 是一个名称,我想按中的最后一个单词对循环进行排序title, 姓氏。在自定义查询中,我可以轻松地将名称分开并按最后一个单词进行过滤,但我不想重新编写归档页面的主循环/分页。是否可以将回调传递给orderby 操作中的参数pre_get_posts 还是这是一个失败的事业?谢谢
Pre_User_Query与Pre_Get_Posts
我用过pre_user_query 编辑实际的sql查询,它工作得非常好。现在我想和pre_get_posts 这完全不是一回事。我需要做一个内部连接。。在这个函数中,它似乎只接受以下内容$query->set(\'meta_query\',$meta_query); 这太简单了。。。该设置不允许我添加联接子句,然后在WHERE子句中使用它。。这就是我需要做的。我是否使用了错误的函数?是否有pre_posts_query 而是存在的??其他人在这里干什么?任何指导都将不胜感激!
具有多个筛选器的自定义分拣介质-错误:表/别名不唯一:wp_postmeta
我试图添加一列;“下载”;并使其可排序。这一切都很好,但只要我搜索排序旁边的文件名,就会出现以下错误:WordPress-Database-Error: [Not unique table/alias: \'wp_postmeta\'] SELECT SQL_CALC_FOUND_ROWS DISTINCT wp_posts.ID FROM wp_posts INNER JOIN wp_postmeta ON (wp_posts.ID = w
如何忽略Pre_Get_Posts中的帖子?
我正在使用pre_get_posts 并寻找在主查询中排除帖子的方法。我正在使用query_vars 从特定类别查询帖子,并寻找在主查询中排除这些帖子的解决方案。我的代码:// function to setup query_vars function ctrl_dly_podcast( $query_vars ){ $query_vars[] = \'ctrl_podcasts_status\'; return $query_vars; } add_fil
如果帖子少于每页的帖子,如何显示剩余帖子(在POST__IN中)?
我正在产品分类页面上对产品进行分类。我想先显示销售产品,然后再显示剩余产品。我正在使用pre\\u get\\u posts挂钩修改查询。My CODEfunction modify_query( $query ) { if( ! is_admin() && $query->is_main_query() && is_product_category() ){ $product_ids_on_sale = wc_get_prod
用于从自定义邮政类型存档中排除子页面的查询
我有一个分级自定义帖子类型,名为;服务;。在“服务存档”页面上,我希望只显示父服务,排除子服务。我找到了与我的问题类似的答案,即在archive services中自定义主查询。php使用以下内容:function exclude_children( $query ) { if ( $query->is_main_query() && !is_admin() && $query->is_post_type_archive( \'services\
创建一个URL以显示包含两个分类法术语的帖子
我想展示一个有两个共同分类术语的帖子档案。例如,我想显示所有同时包含术语的帖子;酱汁“;和;奶酪“;在自定义中food 分类学诀窍是我想使用url来实现这一点。最接近我的是:example.com?food[]=sauce&food[]=cheese 在检查来自pre_get_posts 过滤器,我可以看到:WP_Tax_Query::__set_state(array( \'queries\' => array ( 0 =>
Pre_Get_Post分页不起作用
我一直在尝试修复分类页面的分页,但我不知所措。这是我的pre\\u get\\u posts功能,用于分类页面。add_action( \'pre_get_posts\', function ( $q ) { if ( !is_admin() // Only target the front end queries && $q->is_main_query() // Targets the main query only
如何更改PRE_GET_POST中WP_QUERY的条件或比较运算符
所以这里是我的问题,我想显示帖子,如果有相同的类别,如果没有帖子,然后显示相同标签的帖子。为此,我使用了;pre\\u get\\u posts“;行动和如下设置查询。function related_custom_posts($query){ $query->set( \'category__in\', array(2,3) ); $query->set( \'tag__in\', array(10,13) ); } add_action
使用自定义字段搜索WooCommerce产品
我有一个woocommerce电子商店网站。我的搜索仅在产品标题、简短描述和SKU字段中搜索。我还想在一些自定义字段中搜索(如“U barcode”和“U mpn”)。我想在产品页面上搜索,而不是在管理面板中搜索。我有这个脚本,但当我在功能中使用它时。php我无法按产品标题或简短描述进行搜索。function search_filter( $query ) { $key_fields = array ( \'_barcode\', \'_mpn\', \'_sku\' );
Pre_Get_POST中的DATE_QUERY内存不足
我正在尝试为特定类别应用Datefilter。Wordpress因内存不足错误而崩溃。这是服务器问题还是我的查询错误?起初,我尝试查询->;(…)但用这种方法,我得到了一个错误,因为参数太少。使用query=new WP\\u query时。。。我得到内存不足错误。谢谢你的帮助。我的代码: function test_filter( $query ) { $options = get_option(\'dh_options\'); $cats =
如何在挂钩到per_get_post或挂钩到parse_Query之间进行选择
在重构代码库时,我注意到有两个钩子用于修改主查询。parse_querypre_get_posts来自Plugin API Reference 看起来这些钩子是背靠背的,它们都可以访问主要的WP\\u查询对象。我需要知道它们有什么不同,以便确定哪一个是适合我需要的。开发人员记录parse_query 和pre_get_posts 不要提供足够的信息来回答此问题。使用的代码parse_query 基于an article on filtering admin listings based on a cust
带有PRE_GET_POST的WordPress自定义搜索表单不起作用
我正在设计我的第一个主题,我被自定义帖子类型的搜索功能所困扰。我创建了一个CPT“电影”,并用“存档电影”创建了存档页面。主题文件夹根目录中的php文件。在内部,我创建了一个基本的WP\\u查询get_header(); // WP_Query arguments $args = array( \'post_type\' => array( \'movies\' ), \'post_status\' => array( \'
如何在钩子PRE_GET_POST中的WP_QUERY中执行多个搜索(使用逻辑或)?
示例:$query->set(\'s\', \'foo bar\'); - 搜索foo bar我想将搜索设置为foo bar 或lorem ipsum dolor 或ping pong
在WordPress管理中按自定义字段对类别进行排序
我知道有很多关于类似问题的帖子,但我不明白为什么我的自定义排序在类别管理页面中不起作用。下面是我的代码,用于将ACF字段作为列添加到类别页面,并注册排序功能。由于某种原因add_action( \'pre_get_posts\', \'category_custom_orderby\' ); 钩子坏了。有什么是我忽略的吗?或者是否有其他方法使排序功能正常工作?add_filter( \'manage_edit-category_columns\', \'set_custom_category_column
使用PRE_GET_POST的QUERIED_OBJECT获取通知和警告
我的代码在我的页面上得到了我想要的结果,我正在获取另一篇文章,我的主题正在按预期在页面上输出我需要的所有相关数据。function replaceQuery( $query ) { if ( !is_admin() && $query->is_main_query() && $query->is_page ) { $childQuery = get_post(13);
CPT根本不会显示在主存档中,并带有“PRE_GET_POST”
我正在尝试使用pre\\u get\\u posts将我的自定义帖子类型显示在主存档中,但它根本不起作用。但是,在搜索结果中会显示这些条目,它们也会显示在指定的类别中。我使用的代码:function include_custom_post_type_archives($query) { if ((is_category() || is_tag()) && $query->is_archive() && empty($query->que
在PRE_GET_POST中使用多个术语的税务查询
我正在尝试在我的pre_get_posts 作用所有这些都正常工作,但当阵列具有多个ID时则无法正常工作。假设我的URL看起来像:?listing\\u cat[]=1(&;清单\\u cat[]=2现在,我正试图过滤掉这两个类别中的帖子。但是我的过滤器只从第一个类别ID获取帖子。我想我需要一个foreach函数,但我不知道如何实现它。目前我有下面的代码。现在我知道我可以使用带逗号的多个术语筛选,如:\'terms\' => array($rt_cat_id[0], $rt_cat_id[1]