在导航子菜单中显示包含特定分类术语的页面?

时间:2018-08-18 作者:OpensaurusRex

我想看看是否有办法根据菜单中页面的分类法更改子菜单项?我目前使用以下WP_Query 我习惯于从“产品发布”页面列表中抓取前三项(这些页面包含releasesolutions 术语)与“解决方案”页面关联,并将其列在“解决方案”上:

$my_terms = wp_get_post_terms(get_the_ID(), \'solutions\', [\'fields\' => \'ids\']);
$my_posts = new WP_Query(
    [
        \'post_type\' => \'page\',
        \'posts_per_page\' => 3,
        \'tax_query\' => [
            \'relation\' => \'AND\',
            [
                \'taxonomy\' => \'solutions\',
                \'field\' => \'term_id\',
                \'terms\' => $my_terms
            ],
            [
                \'taxonomy\' => \'release\',
                \'field\' => \'term_id\',
                \'terms\' => get_terms(\'release\', [\'fields\' => \'ids\'])
            ]
        ],
        \'order\'          => \'DESC\',
        \'orderby\'        => \'title\',
    ]
);
但是,我还需要能够在菜单中执行类似的操作。有没有一种方法可以让菜单中的页面solutions 术语集,可以在上面运行类似的内容,以生成由前三个页面组成的子菜单,其中前三个页面同时包含这两个页面solutionsrelease 条款?

我使用的主题是twentyseventeen 主题和导航菜单是随附的核心功能twentyseventeen.

1 个回复
SO网友:OpensaurusRex

我能够通过创建一个类来找到解决方案,该类为需要生成的根项目添加了一个运行元查询的过滤器和一个额外的复选框到菜单编辑器中。

结束