将WordPress从本地环境移动到实时服务器后,我遇到了一个奇怪的菜单问题。
在我的本地服务器上,菜单显示正确,而在实时服务器上,只显示一段菜单代码而不是实际菜单。 (基本上,它会在数组的第一个参数中的=>
之后切断代码,并输出其余代码而不是显示菜单。)
本地服务器版本
实时服务器版
其他一切正常 - 后端很好,所有链接也正常工作,这让我觉得迁移没问题,问题出在PHP本身。
header.php
中菜单的整个代码如下所示(彼此相邻有两个菜单):
<div class="collapse navbar-collapse" id="main-navigation-collapse">
<? wp_nav_menu (array(
'sort_column' => 'menu_order',
'menu_class' => 'nav navbar-nav list-inline',
'theme_location' => 'primary'
)); ?>
<? wp_nav_menu (array(
'sort_column' => 'menu_order',
'menu_class' => 'nav navbar-nav navbar-right list-inline',
'theme_location' => 'top-menu'
)); ?>
</div>
菜单在functions.php
中注册,如下所示:
register_nav_menus( array(
'primary' => __( 'Primary Menu', 'be-emobil' ),
'top-menu' => __('Top Menu', 'be-emobil'),
'footer-menu' => __('Footer Menu', 'be-emobil'),
'footer-menu-2' => __('Footer Menu 2', 'be-emobil')
) );
一些可能有用的信息:
知道为什么会发生这种情况或者我怎么能找出问题所在?
答案 0 :(得分:3)
您的实时服务器未启用Short Tags。
您可以执行以下操作:
根据您对实时服务器上的php.ini,.htaccess等的访问权限,您需要相应地选择解决方案
答案 1 :(得分:2)
尝试启用短标记?
添加
short_open_tag=On
到你的php.ini并重新启动php-fpm和你的web服务器。
答案 2 :(得分:1)
将您的短标记<?
替换为<?php
,它们不适用于所有环境。
或者如果您有权访问它,请尝试在php.ini中打开它们。