0

カスタムsearch.phpを作成していますが、検索結果の数に基づいて別のステートメントを返す方法を知りたいです。3つのシナリオごとに異なるステートメントが必要です。

  1. 結果は返されません
  2. 1つの結果が返されます
  3. 複数の結果が返されます

したがって、最初の例では、ページは返された場所に結果を返しません。2番目:Xを検索すると1つの結果が返されました。そして3番目:Xを検索するとYの結果が返されました。

OK、それが私がやろうとしていることを説明することを願っています。これが私がこれまでに持っているコードです:

<?php
global $wp_query;
$total_results = $wp_query->found_posts;
?>
Your search for <span class="style"><?php echo get_search_query(); ?></span> returned <span class="style"><?php echo $total_results; ?></span> results.

したがって、3番目のオプションを印刷できます。このコードまたは他のコードで使用して、上記のさまざまなステートメントを作成できる条件はありますか?

4

2 に答える 2

1

$total_resultsそれがあなたの数だと仮定します。

if($total_results==1){
    echo 'message one';
    ?> or jump out of PHP and back in <?PHP
}elseif($total_results>1){
    echo 'message multiple';
}else{
    echo 'no results (or error if you did not trap seperately)';
}

私は何かが足りないのですか?switch()コンストラクトも見ることができます。

于 2012-09-14T18:32:34.297 に答える
1

私が正しく理解している場合は、単純なIf/Elseブロックで処理する必要があります。

if($total_results>1)
    echo 'more than one';
elseif($total_results==1)
    echo '1';
else
    echo '0';
于 2012-09-14T18:32:35.917 に答える