簡體   English   中英

Wordpress顯示PHP代碼而不是菜單內容

[英]Wordpress shows PHP code instead of menu content

將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

知道為什么會發生這種情況,或者如何找出問題所在嗎?

您的實時服務器未啟用短標簽

您可以執行以下操作:

  • 更改<? 到<?php
  • 在php.ini中啟用短標簽
  • 在.htaccess文件中啟用短標簽
  • 使用php ini_set啟用文件中的短標簽

根據您對實時服務器上的php.ini,.htaccess等的訪問,您將需要相應地選擇解決方案

嘗試啟用短標簽?

short_open_tag=On

到您的php.ini並重新啟動php-fpm,然后您將Web服務器。

替換您的快捷標簽<? 使用<?php它們並不能在所有環境下正常工作。 或者,如果可以訪問,請嘗試在php.ini中將其打開。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM