0

我有一个 IF 声明,说明以下内容......

                 <?php

                    if (empty($data['footer_text'])) {

                        echo'<p>&copy;&nbsp;';
                            print(Date("Y"));
                        echo'<span class="sep"> | </span><a href="';
                            echo get_settings('home');
                        echo'" title="';
                            bloginfo( 'name' );
                        echo'" rel="home">';
                            bloginfo( 'name' );
                        echo'</a></p>';
                    }

                    else{
                        echo'<p>';
                            global $data; 
                        echo $data['footer_text']; 
                        echo'</p>';
                    }

                ?>

我遇到的问题是当我这样称呼它时。

       <p><?php global $data; echo $data['footer_text']; ?>;</p>

它正确显示我的文本。但是当我使用 IF 语句时,它总是默认显示站点名称,即使我知道它正确显示了文本。

我的语法搞砸了吗?我不明白为什么它认为什么都没有,但当我在 ap 标签中显示时仍然出现。

4

2 回答 2

1

在进入 if() 之前,您不会将 $data 声明为全局的,这意味着 $data 在您执行的时候是未定义的

if (empty($data[...])) {

你可能想要

global $data;
if (empty($data[...])) {

反而。

于 2013-03-12T21:15:45.470 回答
0

尝试调试变量$data['footer_text']

<?php var_dump($data['footer_text']); ?>

就在 IF 语句之前。请记住,何时empty()返回 true。

于 2013-03-12T21:17:26.353 回答