2017-04-26 6 views
0

私は自分のheader.php文書の中で自分のページタイトルを変更しようとしています。Wordpress Page titles - PHPならば

現在、私はページがショーページの場合には、タイトルの前にショー名を表示し、それ以外の場合は表示しないというPHPの別のビットを参照するifステートメントを持っています。コード。相続人はそのコードとそれが完璧に動作します:だから

<?php 
    if (is_page_template('page-show.php')) { 
     echo "$show_name -"; 
    } else { 
     echo ''; 
    } 
    ?> 

    <?php wp_title('|', true, 'right'); ?> Leicester 

、声明をより細かく制御を得るために、私はそれが言いたい:ページがショーのページであれば、のためにショー名と通常のコードを表示しますタイトル、ELSEはタイトルコード(私はショーコードとは異なることができます)だけを表示します。私は以下を試しましたが、それはうまくいきません - おそらく私はエコーの中にPHPを含めることはできません?私はどこに問題があるのか​​わからない...

<?php 
     if (is_page_template('page-show.php')) { 
      echo "$show_name - <?php wp_title('|', true, 'right'); ?> Leicester"; 
     } else { 
      echo '<?php wp_title('|', true, 'right'); ?> Leicester'; 
     } 
     ?> 

アイデアはありますか?

+0

いいえ、あなたは既にPHPブロックに入っているので、そのようなコードを含めることはできません。ちょうど連結する。 – aynber

+0

適切な方法は 'wp_title'フィルタを使うことです。 –

答えて

1

あなたはPHPブロックではすでにしているので、あなたは再びPHPタグを必要としない:

<?php 
    if (is_page_template('page-show.php')) { 
     echo "$show_name - " . wp_title('|', false, 'right') . " Leicester"; 
    } else { 
     echo wp_title('|', false, 'right') . ' Leicester'; 
    } 
    ?> 
+0

[docs](https://developer.wordpress.org/reference/functions/wp_title/)を確認してください。wp_titleは、引数2が真である場合にタイトルをエコーし​​ます。 – andrew

+0

ああ、ありがとう、ありがとう。私はWP機能を頻繁に使用しません。 – aynber

+0

もう少し詳しく説明してください@andrew @aynber?なぜ真を使用するのが間違っていますか –

2

いいえ、そのようなエコーの中に "<?php"を含めることはできません。単一引用符の中のものはPHPによって再評価されません。

関数wp_title()returns a stringので、あなたができる:

echo wp_title('|', false, 'right') . ' Leicester'; 
+0

[docs](https://developer.wordpress.org/reference/functions/wp_title/)の 'wp_title'は、引数2が真である場合にタイトルをエコーし​​ます。 – andrew

+0

注目と修正。私は文書にリンクしていましたが、明らかにそれを十分に読まなかったのです。 – txyoji