2017-02-25 2 views
0

私のWordpressデータベースからデータを抽出する次のコードがあります。私はまた、情報の各ラインにカテゴリを追加したいと思います。PHP関数で各投稿idのカテゴリを選択する方法

(SELECT `wp_term_taxonomy` FROM `$wpdb->postmeta` WHERE `taxonomy` = 'category' AND post_id = $wpdb->posts.ID) AS category, 
:、上記の最後の行に追加して、私はのような何かを追加しようとしていたので、

global $wpdb; 
$posts = $wpdb->get_results(" 
SELECT (SELECT `meta_value` FROM `$wpdb->postmeta` WHERE `meta_key` = '_yoast_wpseo_focuskw' AND post_id = $wpdb->posts.ID) AS focuskw, 
(SELECT `meta_value` FROM `$wpdb->postmeta` WHERE `meta_key` = '_yoast_wpseo_title' AND post_id = $wpdb->posts.ID) AS title, 
(SELECT `meta_value` FROM `$wpdb->postmeta` WHERE `meta_key` = '_yoast_wpseo_metadesc' AND post_id = $wpdb->posts.ID) AS metadesc, 

global $wpdb; 
$posts = $wpdb->get_results(" 
SELECT (SELECT `meta_value` FROM `$wpdb->postmeta` WHERE `meta_key` = '_yoast_wpseo_focuskw' AND post_id = $wpdb->posts.ID) AS focuskw, 
(SELECT `meta_value` FROM `$wpdb->postmeta` WHERE `meta_key` = '_yoast_wpseo_title' AND post_id = $wpdb->posts.ID) AS title, 
(SELECT `meta_value` FROM `$wpdb->postmeta` WHERE `meta_key` = '_yoast_wpseo_metadesc' AND post_id = $wpdb->posts.ID) AS metadesc, 
$wpdb->posts.ID, $wpdb->posts.post_type FROM `$wpdb->posts` 
WHERE $wpdb->posts.post_status = 'publish' 
AND (SELECT `meta_value` FROM `$wpdb->postmeta` WHERE `meta_key` = '_yoast_wpseo_meta-robots-noindex' AND post_id = $wpdb->posts.ID)is null 
AND ($wpdb->posts.post_type = 'page' OR $wpdb->posts.post_type = 'post') 
"); 

header('Content-type:text/plain'); 
foreach($posts as $post) { 
    $permalink = get_permalink($post->ID); 
    echo "</br>{$post->ID},{$post->post_type},{$permalink},{$post->focuskw}"; 
} 

は、私は次の部分で、私は私のコードを追加する必要があることを理解して

基本的には、私はMySQLから引き出す必要がありますが、PHPコードをどのようにフォーマットするのか、どのパスを使うべきかについてはわかりません。私は 'get_the_category'オプションについていくつかの調査をしましたが、このコードに実装する方法は不明です。

このコードで投稿カテゴリも返すことができますか?どんなポジティブな入力や方向性も高く評価されます。

+0

このクエリでは改善の余地があると思います:-( – Strawberry

答えて

0

さて、私は実際にコードを下に追加する必要がありました。

header('Content-type:text/plain'); 
foreach($posts as $post) { 
    $category = get_the_category($post->ID); 
     $postcat = $category[0]->cat_name; 
    $permalink = get_permalink($post->ID); 
    echo "</br>{$post->ID},{$post->post_type},{$permalink},{$postcat},{$post->focuskw}"; 
} 

これは、PHPスクリプトのカテゴリと投稿をリストするのに役立ちます。

関連する問題