0
<?php $options = get_option('kittens_options'); if ($options['copyright']!="") echo $options['copyright']; else echo '&copy; '.date('Y').' '.bloginfo('name').'. All Rights Reserved.'; ?>

工作得很好,除了'.bloginfo('name').'虽然正确地展示了它的假设,在句子结构中不按顺序排列。

那么应该显示为:

© 2012 测试。版权所有。

显示为:

测试© 2012。保留所有权利。

由于'.bloginfo('name').'不是本机 PHP 函数,是否需要对其进行过滤或转义或其他什么?

4

2 回答 2

0

那是因为bloginfoCodex是一个输出函数。它确实输出但不返回字符串。您需要一个返回函数,尝试get_在前面添加:get_bloginfoCodex

get_名称开头的函数通常返回字符串而不是在 wordpress 中输出它们,就像get_option您已经使用的函数一样。

代码示例:

if ("" == ($copyright = $options['copyright'])) 
    $copyright = '&copy; '.date('Y').' '.get_bloginfo('name').'. All Rights Reserved.'
    ;                                  # ^^^^ #
echo $copyright;
于 2012-05-05T14:31:54.347 回答
0

使用get_bloginfo('name')代替bloginfo('name')

<?php $options = get_option('kittens_options'); if ($options['copyright']!="") echo $options['copyright']; else echo '&copy; '.date('Y').' '.get_bloginfo('name').'. All Rights Reserved.'; ?>

参考:wordpress

于 2012-05-05T14:35:38.513 回答