我复制了Wordpress安装以移动到另一台服务器。除了一个文件外,所有文件都可以找到。我创建了一个标题商店。php文件调用我的商店页面上的某个菜单。在第一台服务器中,它正在工作。在新版本中,它没有。在我看来,它真的很疯狂。
以下是文件:
<!doctype html>
<?php get_header(); ?>
<section class="grid wrapper shoptopmenu" id="content">
<div class="shop-menu">
<?php
$defaults = array(
\'menu\' => \'shop-top-menu\',
\'container\' => \'nav\',
\'container_class\' => \'grid wrapper\',
\'container_id\' => \'shopmenue\',
\'menu_class\' => \'unit full grid\',
\'menu_id\' => \'\',
\'echo\' => true,
\'fallback_cb\' => \'wp_page_menu\',
\'before\' => \'\',
\'after\' => \'\',
\'link_before\' => \'\',
\'link_after\' => \'\',
\'items_wrap\' => \'<ul id="%1$s" class="%2$s">%3$s</ul>\',
\'depth\' => 0,
\'walker\' => \'\'
);
wp_nav_menu( $defaults );
?>
</div>
在第一台服务器中,HTML代码是:
<section class="grid wrapper shoptopmenu" id="content">
<div class="shop-menu">
<nav id="shopmenue" class="grid wrapper">
<ul id="menu-shop-top-menu" class="unit full grid">
.....
</ul>
</nav>
在新服务器中,HTML代码为:
<section class="grid wrapper shoptopmenu" id="content">
<div class="shop-menu">
<div class="unit full grid">
<ul>
....
</ul>
</div>
你可以看到
nav
元素以及
ul
缺少元素。其他一切都一样。在发疯之前有什么想法吗?:P
最合适的回答,由SO网友:Tobias Beuving 整理而成
菜单数据位于数据库中。为了获得准确的副本,您还需要复制数据库中的文件和所有项目。
验证数据库中所需的所有元素是否都存在于wordpress admin和/或phpmyadmin中。
或者,在PHP文件中的这些行之后:<div class="shop-menu">
<?php
您可以放置以下代码:
$menu = wp_get_nav_menu_object(\'shop-top-menu\');
$menu_items = wp_get_nav_menu_items($menu->term_id);
print \'<pre>\';
var_dump($menu_items );
print \'</pre>\';
要检查wordpress是否可以找到菜单数据:
如果输出为:
array(0) { }
Wordpress找不到菜单,复制过程中出现问题。