基于页面名在php中创建自定义菜单

基于页面名在php中创建自定义菜单,php,wordpress,menu,Php,Wordpress,Menu,我试图在wordpress页面模板中创建自定义硬编码菜单。该网站有3个页面(1、2、3),在第1页,我希望在所有页面中循环使用page1作为pagetemplate,2代表2等 我如何循环槽并获得所有页面的名称,以便将它们放在菜单中 例如,如果您访问第1页,并且以第1页为模板(父级)的页面为“访问我们”和“阅读更多”,则菜单将如下所示: $args = array( 'post_type' => 'page', 'meta_query' => array(

我试图在wordpress页面模板中创建自定义硬编码菜单。该网站有3个页面(1、2、3),在第1页,我希望在所有页面中循环使用page1作为pagetemplate,2代表2等

我如何循环槽并获得所有页面的名称,以便将它们放在菜单中

例如,如果您访问第1页,并且以第1页为模板(父级)的页面为“访问我们”和“阅读更多”,则菜单将如下所示:

$args = array(
    'post_type'  => 'page', 
    'meta_query' => array( 
        array(
            'key'   => '_wp_page_template', 
            'value' => '[Your template goes here]'
         )
    )
);
-访问我们 -阅读更多

但如果我转到第2页,菜单可能如下所示:

$args = array(
    'post_type'  => 'page', 
    'meta_query' => array( 
        array(
            'key'   => '_wp_page_template', 
            'value' => '[Your template goes here]'
         )
    )
);
-游乐场 -福巴

现在,如果我添加一个以“1”为父项的新页面,并将该页面命名为“关于”,新菜单将显示

-访问我们 -阅读更多 -关于

干杯,
Emil

您可以查询页面及其模板值。法典说:

页面指定的自定义模板的文件名存储为名为“\u wp\u Page\u template”的自定义字段的值(在wp\u postemta数据库表中)。(以下划线开头的自定义字段不会显示在编辑屏幕的“自定义字段”模块中。)

这意味着您可以构建如下页面查询:

$args = array(
    'post_type'  => 'page', 
    'meta_query' => array( 
        array(
            'key'   => '_wp_page_template', 
            'value' => '[Your template goes here]'
         )
    )
);

你所要做的就是循环浏览页面,获取永久链接并构建菜单。

太棒了!如此简单和优雅:D!