【问题标题】:wp-admin search posts by title only and show sub pageswp-admin 仅按标题搜索帖子并显示子页面
【发布时间】:2015-10-06 14:07:52
【问题描述】:

我有一个自定义帖子类型,我可以在 CMS 中更改搜索,使其仅按帖子标题搜索,然后还可以浏览该页面的所有子页面。

目前我有以下内容,它确实将搜索限制为标题,但我正在努力如何最好地处理子页面并在此查询中返回它们。

add_filter( 'posts_search', 'admin_search_shops', null, 2 );
function admin_search_shops( $search, $a_wp_query ) {

    if ( !is_admin() ) return $search;

    $search = preg_replace( "# OR \(.*posts\.post_content LIKE \\'%.*%\\'\)#", "", $search );

    return $search;
}

【问题讨论】:

  • 你的意思是获取该自定义帖子类型的所有帖子?
  • 不,在 wp-admin 中,您可以看到帖子列表,并且可以搜索,我需要能够仅按标题搜索(这就是上面所做的),但随后也得到结果的所有子页面。

标签: php wordpress search


【解决方案1】:

与其尝试重新构建复杂的 SQL 查询,不如在最后的“posts_results”过滤器中添加子级要简单得多。结合您已经完成的工作(将搜索限制为标题),以下内容将添加到任何子页面中。

    add_filter( 'posts_results', 'admin_postsearch_shops', null, 2);
    function admin_postsearch_shops( $posts ) {
        foreach( $posts as $post ) {
            $args = array( 'post_parent' => $post->ID);
            foreach ( get_children( $args ) as $child ) {
                $posts[] = $child;
            }
        }
        return $posts;
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    相关资源
    最近更新 更多