2012-03-28 12 views
1

ある場合、私はどこでも検索したとこれに対する解決策を見つけることができません。Wordpressのcomments.phpの変更PHPの出力変数が真

私はWordpressのテーマを開発して、コメントを作成するプロセスにいますよ.phpファイル。ここに私のコードは、これまでのところです:私のsingle.phpページ

、私はトップ<?php $mobile_blog = 'true'; ?> であり、その後、私のcomments.phpファイルで、私が持っている:

// begin if statement 
<?php if($mobile_blog == 'true') : ?> 

// If $mobile_blog variable is set to true on the page, show this code. 

<div id="comments" class="blog-comments"> 
    <?php if($comments) : ?> 
    <ol class="comments blog-comments" style="list-style:none;"> 
    <?php wp_list_comments('type=comment&callback=company_mobile_comments'); ?> 
    </ol> 
    <?php else : ?> 
    <p>No comments yet</p> 
    <?php endif; ?> 
</div> 

<?php else : ?> 

// If $mobile_blog variable is NOT set to true on the page, show this code. 

<div id="comments" class="blog-comments"><span class="t"> 
    <?php comments_number('No Comments', '1 Comment so far', '% Comments'); ?> 
    </span> 
    <?php if($comments) : ?> 
    <ol class="comments"> 
    <?php wp_list_comments('type=comment&callback=company_comments'); ?> 
    </ol> 
    <?php else : ?> 
    <p>No comments yet</p> 
    <?php endif; ?> 
</div> 

//end of if statement 

<?php endif; ?> 

私がしようとしている何ここで達成するは、ページで$mobile_blog変数をtrueに設定した場合はコードの最上部を表示し、そうでない場合は変数が設定されていないか、trueでない場合はコードの下部を表示します。

何らかの理由で、ここに含まれているコードを使用すると、変数がtrueに設定されている場合でも、コードの下部が表示されます。私が何をしても、必要なときに適切なコードを表示することはできません。

EDIT ::代わりに、変数がtrueに設定されているかどうかに応じてテンプレートに別のcomments.phpファイルをプルする方法がありますか?それは上書きされますおそらくブールれていない場合 - 私は

if($mobile_blog === true): 
+0

実際のブール値をtrueにしたいですか?それは '$ mobile_blog == true'またはSTRING trueです。 '$ mobile_blog == 'true'?同様に、この他のファイルは関数呼び出しの中からインクルードされていますか? $ mobile_blogは、あなたが値をテストする時点では範囲にないかもしれません。 –

+0

あなたは100%確かです '$ mobile_blog == 'true' –

+0

$ mobile_blogが呼び出されたときに"範囲内 "でない場合、どのように伝えますか?私が$ mobile_blogをエコーすると、私はそのページに「真実」を与えます。 – adamdehaven

答えて

0

テンプレートのモバイル版のコメントテンプレートを表示する方法を実際に見つけました。以下のコードでは、使用するcomments.phpファイルを選択することができます:)

<?php // show mobile comments 
comments_template('/mobile-comments.php', true); ?> 
0

変化を利用して、私のsingle.phpページ内のコメントは、この

<?php if($mobile_blog === true) : ?> 

EDITを試しています。

$mobile_blog = 'true'; 
// begin if statement 
<?php if($mobile_blog == 'true') : ?> 
0

<?php comments_template('', true); ?>

+0

私のsingle.phpページでも、私はトップ '$ mobile_blog = 'true';にありますか? – adamdehaven

+0

@adamdehaven私は私の答えを更新しました。それは 'true 'が' true'なのでその場合でもうまくいくはずです。 –

0

を試してみてください$ mobile_blogがブール値であることを確認します。あなたがこのコードを試すことができるかわからない場合

if (settype($mobile_blog, bool)) { 
    /* true */ 
} 

注意してください。これは、mobile_blogが文字列の場合には機能しません。それでは、mobile_blogは常に真です。