0

我正在尝试编写一些 php,它将根据显示的页面更改 div 的内容。我是php的新手,所以我确定我写错了...

<?php if ( is_page('home') ) { ?>
    <div class="strapline">stuff 1</div>
<?php elseif ( is_page('about') ) { ?>
    <div class="strapline">stuff 2</div>
<?php elseif ( is_page('services') ) { ?>
    <div class="strapline">stuff 3</div>
<?php elseif ( is_page('blog') ) { ?>
    <div class="strapline">stuff 4</div>
<?php elseif ( is_page('portfolio') ) { ?>
    <div class="strapline">stuff 5</div>
<?php elseif ( is_page('contact') ) { ?>
    <div class="strapline">stuff 6</div>
<?php elseif ( is_page('privacy-policy') ) { ?>
    <div class="strapline">stuff 7</div>
<?php else ( is_page('terms-and-conditions') ) { ?>
    <div class="strapline">stuff 8</div>
<?php } ?>

谁能帮我解决这个问题?也许它应该是一个循环?谢谢!

4

2 回答 2

0

开关会更好:

(假设您有一个get_actual_page()返回实际页面名称的函数。

$page = get_actual_page();
switch ($page){
    case 'home':
        $content = 'stuff 1';
        break;
    case 'about':
        $content = 'stuff 2';
        break;
    // other cases...
}

echo '<div class="strapline">'.$content.'</div>';

通过这种方式,代码会更简洁、更易读、更易于维护。

于 2013-03-28T17:03:04.060 回答
0

将以下内容添加到您的 function.php

function content($content)
{
    if(is_page('home')){
      return '<div class="home">'.$content.'</div>';
    } else if(is_page('about')){
      return '<div class="about">'.$content.'</div>';
    }
      return $content;
}

add_filter('the_content','content')
于 2013-03-28T17:06:14.220 回答