Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将导航菜单替换为自定义div(wordpress)_Php_Wordpress_Menu - Fatal编程技术网

Php 将导航菜单替换为自定义div(wordpress)

Php 将导航菜单替换为自定义div(wordpress),php,wordpress,menu,Php,Wordpress,Menu,如何用不同的div替换wordpress主题中的菜单?但只能在我网站的某个页面上 下面是themes.php中的内容 <div class="frame"> <?php wp_nav_menu( array( 'theme_location' => 'menu-main','sort_column' => 'menu_order', 'menu_id' => 'main-nav-menu', 'fallback_cb' => false ) ); ?

如何用不同的div替换wordpress主题中的菜单?但只能在我网站的某个页面上

下面是themes.php中的内容

<div class="frame">

<?php wp_nav_menu( array( 'theme_location' => 'menu-main','sort_column' => 'menu_order', 'menu_id' => 'main-nav-menu',  'fallback_cb' => false ) ); ?>

</div>

我需要说点什么,比如:

<div class="frame">

//if the page id=1545, then show this div:
<div id="my-new-div">Slogan goes here</div>

//else
<?php wp_nav_menu( array( 'theme_location' => 'menu-main','sort_column' => 'menu_order', 'menu_id' => 'main-nav-menu',  'fallback_cb' => false ) ); ?>

</div>

//如果页面id=1545,则显示此div:
标语就在这里
//否则

提前谢谢

这应该可以完成工作:

<?php $page_object = get_queried_object();
$page_id     = get_queried_object_id(); ?>

<div class="frame">

<?php if ($page_id == 1545): ?>

    <div id="my-new-div">Slogan goes here</div>

<?php else: ?>

    <?php wp_nav_menu( array( 'theme_location' => 'menu-main','sort_column' => 'menu_order', 'menu_id' => 'main-nav-menu',  'fallback_cb' => false ) ); ?>

<?php endif; ?>


</div>

标语就在这里

修复了php标签的一个小问题

感谢您的回复!但它似乎不起作用。导航仍在那里,但它会在导航顶部打印文本“$page\u object=get\u queryed\u object();$page\u id=get\u queryed\u object\u id()”。