2017-05-02 4 views
0

私はPHPには慣れています。 私はこのショートコードを使用して、公開された投稿の総数(400)を表示しています。うまくいきます。私が( '投稿')を( 'ページ')に変更すると、公開されたページの総数(100)も同様に表示されます。ショートコード1つを使用して投稿数とページ数(500)を表示しようとしています。 2つの結果を加算して1つの合計結果として表示することは可能ですか?1つのショートコードPHP WordPressに2つの戻り値を追加しようとしています(投稿数とページ数の合計)

function published_posts($atts) { 
return wp_count_posts('post')->publish; 
} 
add_shortcode('posts_count', 'published_posts'); 
+1

配列 –

+0

を返そうとしますか?あなたは助けてくれますか? – Anthony

答えて

3

はい、あなたがしようとしていることは可能です。投稿とページの両方に変数wp_count_posts()の値を代入し、return文でそれらを一緒に追加するだけです。

例:

function published_posts($atts) { 
    $post_count = wp_count_posts('post')->publish; 
    $page_count = wp_count_posts('page')->publish; 

    return $post_count + $page_count; 
} 
add_shortcode('posts_count', 'published_posts'); 

これは動作しますが、私はそれはあなたが取ることができる最も効率的な方法です確信していません。それは、1つで取り出すことができる情報のためにデータベースへの2回のトリップを行っています。つまり、wp_count_posts()は投稿タイプの配列を受け入れないので、何かをゼロからコードする必要があるでしょう。

+0

ありがとう、ネイサン!これは素晴らしい作品です!私はデータベースに2回トリップしないために別の解決策が見つかるまで、それを使用します。 – Anthony

関連する問題