2016-06-12 4 views
-1

In meinem Wordpress-Setup hat jeder Beitrag eine Post-Meta mit Meta-Key = visitor_tracking_visitor_id angefügt, die die Post-Autor-ID ist.Wordpress/MySQL -> erhalten Post-IDs zusammen mit einer Zählung der gesamten Beiträge von einem Autor eines bestimmten Beitrags geschrieben

Ich versuche, eine Liste von Beiträgen aus der Wordpress wp_posts Tabelle zusammen mit einer Anzahl von Beiträgen mit Status = veröffentlichen für die angegebene Autor-ID zu ziehen.

Tabellen

wp_posts

id | POST_TITLE | POST_CONTENT | post_status ("veröffentlichen" oder "Müll")

wp_postmeta

post_id (verbinden mit wp_posts 'id) | meta_key | meta_value

wenn meta_key = visitor_tracking_visitor_id die meta_value die ID Autor hält

Beispiel erwartete Ergebnis:

| id | meta_value (Autor id) | count_of_posts_by_that_meta_value |

| 1 | 1234 | 10 |

| 2 | 1234 | 10 |

| 3 | 5678 | 4 |

Ich weiß, wie die Post Informationen an einem Strang ziehen mit der ID des Autors:

 
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' 

Wie würde ich ein anderes Feld mit der Anzahl der Autoren ziehen Beiträge veröffentlicht nur mit SQL (ohne Wordpress-Funktionen)?

Vielen Dank im Voraus für Ihre Hilfe!

+0

In Abwesenheit eines Datensatzes ist eine erwartete Ergebnismenge ungefähr so ​​nützlich wie eine Schokoladenteekanne – Strawberry

Antwort

0

Warum erstellen Sie Post-Meta für etwas, das bereits in jedem Post verfügbar ist? Nehmen Sie einfach den Autor ID für den Posten get_the_author_id()

Wenn Sie lo Liste Post-Links von einem Autor wollen, in der Schleife Sie https://codex.wordpress.org/Function_Reference/the_author_posts_link

Post Autor oder Benutzer Zahl erhalten können Sie https://codex.wordpress.org/Function_Reference/count_user_posts verwenden können

+0

Hi topdown, ich benutze eine benutzerdefinierte IDs, da Beiträge nicht standardmäßig auf meiner Website hinzugefügt werden, wo jeder Benutzer ein WP-Konto hat . Außerdem muss ich die Daten aus einer Datenbank exportieren, ohne Wordpress-Funktionen zu verwenden. Es soll für eine Analyse mit einem externen Tool verwendet werden. – lohaic

+0

Für den Export verwenden Sie die WP Rest API http://wp-api.org/ – topdown

0

Keine Notwendigkeit, SQL für diesen Einsatz:

$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; 

lesen Sie mehr über WP_Query in the Codex.

Verwandte Themen