Wordpress显示PHP代码而不是菜单内容

时间:2015-05-08 09:31:21

标签: php wordpress wordpress-theming

将WordPress从本地环境移动到实时服务器后,我遇到了一个奇怪的菜单问题。

在我的本地服务器上,菜单显示正确,而在实时服务器上,只显示一段菜单代码而不是实际菜单。 (基本上,它会在数组的第一个参数中的=>之后切断代码,并输出其余代码而不是显示菜单。)

本地服务器版本 local server version

实时服务器版 live server version

其他一切正常 - 后端很好,所有链接也正常工作,这让我觉得迁移没问题,问题出在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')
) );

一些可能有用的信息:

  • 我使用_s(下划线)主题作为我的基础。
  • 本地PHP版本为5.6.7
  • Live PHP版本为5.6.8-pl0-gentoo

知道为什么会发生这种情况或者我怎么能找出问题所在?

3 个答案:

答案 0 :(得分:3)

您的实时服务器未启用Short Tags

您可以执行以下操作:

  • 更改&lt;?到&lt;?php
  • 在php.ini中启用短标签
  • 在.htaccess文件中启用短标记
  • 使用php ini_set在文件中启用短标记

根据您对实时服务器上的php.ini,.htaccess等的访问权限,您需要相应地选择解决方案

答案 1 :(得分:2)

尝试启用短标记?

添加

short_open_tag=On

到你的php.ini并重新启动php-fpm和你的web服务器。

答案 2 :(得分:1)

将您的短标记<?替换为<?php,它们不适用于所有环境。  或者如果您有权访问它,请尝试在php.ini中打开它们。