在WordPress中使用Switch语句

时间:2013-04-02 作者:krisscross90

我在div中有一段文字,我想在我网站的每个页面上更改它。目前我不确定应该使用什么函数来完成此操作。这是我到目前为止所拥有的。。。

<?php
$page = is_page();
switch ($page){
case \'home\':
$content = \'How much money....\';
break;
case \'about\':
$content = \'We design....\';
break;
case \'services\':
$content = \'At the....\';
break;
case \'blog\':
$content = \'Find out whats....\';
break;
case \'portfolio\':
$content = \'Unique, Beautiful....\';
break;
case \'contact\':
$content = \'Get in touch to....\';
break;
case \'privacy-policy\':
$content = \'How much money....\';
break;
case \'terms-and-conditions\':
$content = \'How much....\';
break;      
}

echo \'<div class="strapline strap">\'.$content.\'</div>\';
?>
这段代码似乎只处理每个页面的第一个案例。有人知道我怎样才能让它完全通过开关吗?非常感谢!!

3 个回复
最合适的回答,由SO网友:Jake 整理而成

如果要使用switch语句,可以使用:

switch ($post->post_name){
    case \'home\':
        $content = \'How much money....\';
        break;
    case \'about\':
        $content = \'We design....\';
        break;
    case \'services\':
        $content = \'At the....\';
        break;
    case \'blog\':
        $content = \'Find out whats....\';
        break;
    case \'portfolio\':
        $content = \'Unique, Beautiful....\';
        break;
    case \'contact\':
        $content = \'Get in touch to....\';
        break;
    case \'privacy-policy\':
        $content = \'How much money....\';
        break;
    case \'terms-and-conditions\':
        $content = \'How much....\';
        break;      
}

echo \'<div class="strapline strap">\'.$content.\'</div>\';
首先。我会跟着@rrikesh approach 正确使用if/else和use is\\u page()。

但这段代码效率很低。如果您可以执行“is\\u page()”测试,那么您就在该页面上,并且可以访问该页面的内容。就个人而言,我会在页面中添加一个自定义字段来保存$内容。然后在页面上,只需调用自定义字段

$content = get_post_meta($post->ID, \'content\', true);
echo \'<div class="strapline strap">\'.$content.\'</div>\';
您可以使用免费插件(如高级自定义字段)快速向页面添加自定义元字段,并且您的内容更易于以后组织和编辑。

SO网友:RRikesh

我想你应该用ifelse 而不是开关。

is_page 只需检查您是否在页面上,然后返回truefalse. 它不会返回您的页面名称。

您需要做什么:

if ( is_page(\'Home\') ){
  #do home stuff
}
elseif( is_page (\'about\') ){
  #do other stuff
}
elseif( is_page(\'services\'){
  #do services stuff
}
看看is_page 对于可以传递的参数。

SO网友:Dominic

is_page() 是布尔函数,它只返回true或false。

您可能会发现使用$page = get_the_title() 一个合理的选择。

结束

相关推荐

Php.ini-主题特定的设置

我正在一群人身上测试一个主题。这是一个微型股票图像销售主题。到目前为止,非常独特,在大多数主机上都非常有效。However many people complain that that the image-processing script crashes with larger images. 它使用wideimage-http://wideimage.sourceforge.net/. 这主要是在共享主机上进行的。大多数人都处理过by changing php.ini settings 以及增加内存—