2017-03-03 13 views
0

検索で見つかった投稿の数を表示しようとしています。WordPress(Genesis)での検索結果の表示方法

このコードは$wp_query->found_postsですが、それはうまくいかないようです。

<?php 

add_action('genesis_before_loop', 'genesis_do_search_title'); 

function genesis_do_search_title() { 

    $title = sprintf('<div class="archive-description"><h1 class="archive-title">%s %s %s</h1></div>', $wp_query->found_posts, apply_filters('genesis_search_title_text', __('results for:', 'genesis')), get_search_query()); 

    echo apply_filters('genesis_search_title_output', $title) . "\n"; 

} 

genesis(); 

ドキュメント:

https://codex.wordpress.org/Creating_a_Search_Page#Display_Total_Results

http://my.studiopress.com/documentation/snippets/

+0

'found_posts'には何が入っていますか?これが組み込み関数であれば、そこにはどこかのドキュメントがあるはずです – Mike

+0

さて、それはよさそうです。 '$ wp_query-> found_posts'に値があることを確認しましたか? – Mike

+0

ドキュメントを見直した後、動作しました。必要なもの:global $ wp_query; – SilverLink

答えて

0

は、それが文書を検討し、追加した後、さらに作業ガット:

global $wp_query; 

だからコードは次のとおりです。

<?php 

add_action('genesis_before_loop', 'genesis_do_search_title'); 

function genesis_do_search_title() { 

    global $wp_query; 

    $title = sprintf('<div class="archive-description"><h1 class="archive-title">%s %s %s</h1></div>', $wp_query->found_posts, apply_filters('genesis_search_title_text', __('results for:', 'genesis')), get_search_query()); 

    echo apply_filters('genesis_search_title_output', $title) . "\n"; 

} 

genesis(); 

はあなたにみんなありがとう!

0

これが動作しない場合がありますので、私は本当に起源フックのドキュメントを見つけることができませんが、それはあなたの行動「genesis_before_loop」が実行されていることかもしれませんループ変数が設定される前に代わりに 'loop_start'を使用してみてください。

<?php 

add_action('loop_start', 'genesis_do_search_title'); 

function genesis_do_search_title() { 

    $title = sprintf('<div class="archive-description"><h1 class="archive-title">%s %s %s</h1></div>', $wp_query->found_posts, apply_filters('genesis_search_title_text', __('results for:', 'genesis')), get_search_query()); 

    echo apply_filters('genesis_search_title_output', $title) . "\n"; 

} 

genesis(); 

これが動作すれば教えてください!

+0

お返事ありがとうございました。 残念ながら、それは解決策ではないようです。 「ゲームの結果:8件」ではなく「結果:ゲーム」として表示されます。 問題は印刷されているようですが、エコーと変数を同じ結果で試してみました。 – SilverLink

+0

私は起源フレームワークのドキュメンテーションをどこで見つけることができますか? –

+0

これはどういう意味ですか? http://my.studiopress.com/documentation/snippets/ – SilverLink

0

コードを理解できませんでしたが、wp_queryで検索結果を数えたい場合は、ループ内のカウンタを使用してループ外に表示することができます。

は、それはあなたを助けることを願っています:)

0

global $wp_query;が必要です。使用される構文は次のようになります。

global $wp_query; 
$total_results = $wp_query->found_posts; 
関連する問題