个性化阅读
专注于IT技术分析

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

将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')
) );

一些可能有用的信息:

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

知道为什么会发生这种情况, 或者如何找出问题所在吗?


#1


你的实时服务器未启用短标签。

你可以执行以下操作:

  • 更改<?到<?php
  • 在php.ini中启用短标签
  • 在.htaccess文件中启用短标签
  • 使用php ini_set启用文件中的短标签

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


#2


尝试启用短标签?

short_open_tag=On

到你的php.ini并重新启动php-fpm, 然后你将Web服务器。


#3


替换你的快捷标签<?使用<?php时, 它们并不能在所有环境下正常工作。或者, 如果可以访问, 请尝试在php.ini中将其打开。

赞(0)
未经允许不得转载:srcmini » WordPress显示PHP代码而不是菜单内容

评论 抢沙发

评论前必须登录!