0

表示されているページに応じて div の内容を変更する php を作成しようとしています。私は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 に答える