2016-06-12 62 views
-1

Wordpressの設定では、各投稿にmeta_key = visitor_tracking_visitor_idという投稿メタが添付されています。Wordpress/MySQL - >特定の投稿の投稿者によって投稿された投稿の総数とともに投稿IDを取得します。

私はWordpress wp_postsテーブルから投稿のリストを取得しようとしていますが、指定された投稿者IDのstatus = publishの投稿数とともに表示されます。

テーブル

wp_posts

ID | POST_TITLE | POST_CONTENT |に参加するpost_status( "公開" または "ごみ箱")

wp_postmeta

post_idの( wp_posts 'id)| meta_key | meta_value

01 ID | | meta_value(著者ID)| count_of_posts_by_that_meta_value |

:meta_key = visitor_tracking_visitor_idがmeta_valueが

例期待される結果を作成者IDを保持

| 1 | 1234 | 10 |

| 2 | 1234 | 10 |

| 3 | 5678 | 4 |

私は著者のIDと一緒にポストの情報をプルする方法を知っている:

 
SELECT `id`, `post_title`, `post_content`, `post_status`, `meta_value` FROM `wp_posts` 
LEFT JOIN wp_postmeta 
ON `id` = `post_id` 
WHERE `post_type` = 'post' AND `post_status` in ('trash','publish') AND `meta_key` = 'visitor_tracking_visitor_id' 

は、どのように私は著者の唯一のSQLを使用して記事を発表(Wordpressの機能なし)のカウントで別のフィールドを引くでしょうか?

ご協力いただきありがとうございます。

+0

チョコレートティーポットと同様に有用なデータセットが期待できる結果セット – Strawberry

答えて

0

なぜすべての投稿で既に利用できるものの投稿メタを作成していますか?ただ、著者やユーザーがあなたが https://codex.wordpress.org/Function_Reference/count_user_postsを使用できる回数を投稿あなたは著者からのLOリストポストのリンクをしたい場合は、ループの中で、あなたが取得するに https://codex.wordpress.org/Function_Reference/the_author_posts_link

を使用することができますポストget_the_author_id()

ための著者のIDを取得します

+0

こんにちはtopdown、各ユーザーがWPアカウントを持っているサイトで標準の方法で投稿が追加されないため、カスタムIDを使用します。また、Wordpress関数を使用せずに、データベースからデータをエクスポートする必要があります。これは、外部ツールを使用した解析に使用するためのものです。 – lohaic

+0

エクスポートするには、WP Rest API http://wp-api.org/を使用します。 – topdown

0

このためにSQLを使用する必要はありません:

$args = array(
    'meta_key' => 'visitor_tracking_visitor_id', 
    'meta_value_num' => 76, // The "author" ID, 
    'fields' => 'ids', 
); 
$query = new WP_Query($args); 
$count = $query->found_posts; 

WP_Query in the Codexについては、こちらをご覧ください。

関連する問題