Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 查询Wordpress缩略图_Sql_Wordpress_Thumbnails - Fatal编程技术网

Sql 查询Wordpress缩略图

Sql 查询Wordpress缩略图,sql,wordpress,thumbnails,Sql,Wordpress,Thumbnails,我正在努力获取wordpress博客中帖子的缩略元数据,以及它们的类别和一些其他数据。 缩略图数据已序列化,稍后我将取消序列化 以下是我的疑问: SELECT wpostmeta.meta_value AS url, wposts.post_content, wposts.post_title, wposts.post_status, wposts.post_name, cat_terms.name AS category_name, cat_terms.term_id

我正在努力获取wordpress博客中帖子的缩略元数据,以及它们的类别和一些其他数据。 缩略图数据已序列化,稍后我将取消序列化

以下是我的疑问:

    SELECT wpostmeta.meta_value AS url,
    wposts.post_content, wposts.post_title, wposts.post_status, wposts.post_name,
    cat_terms.name AS category_name, cat_terms.term_id AS category_id,
    ttable.meta_value AS thumb_data
    FROM `wp_postmeta` AS wpostmeta,
    `wp_posts` AS wposts
    INNER JOIN wp_term_relationships AS cat_term_relationships ON (wposts.ID = cat_term_relationships.object_id)
    INNER JOIN wp_term_taxonomy AS cat_term_taxonomy ON (cat_term_relationships.term_taxonomy_id = cat_term_taxonomy.term_taxonomy_id AND cat_term_taxonomy.taxonomy = 'category')
    INNER JOIN wp_terms AS cat_terms ON (cat_term_taxonomy.term_id = cat_terms.term_id)
    LEFT JOIN `wp_postmeta` AS ttable ON (wposts.ID = ttable.post_id AND ttable.meta_key = '_wp_attachment_metadata')
    WHERE wposts.ID = wpostmeta.post_id AND wpostmeta.meta_key = 'url'
    AND wposts.post_type = 'post'
除附件部分外,一切正常。”“thumb_数据”为空


你能帮我解决这个问题吗?

你能准确地解释一下你想要实现的目标吗?在很多情况下,没有必要直接访问数据库


例如,您可以使用带有“post\u type”=>“attachment”和“post\u mime\u type”=>“image”的get\u posts来获取图像附件,然后输出元数据,并且内置了许多函数来处理缩略图的大小调整、显示和裁剪,例如get\u post\u thumbnail()等。

此查询解决了我的问题:

$sql = "SELECT wposts.ID AS ID, thumbposts.ID AS thumbposts_ID,
        postmeta.meta_value AS url,
        wposts.post_content, wposts.post_title, wposts.post_status, wposts.post_name,
        cat_terms.name AS category_name, cat_terms.term_id AS category_id,
        thumb.meta_value AS thumb_data

        FROM `wp_postmeta` AS postmeta,
        `wp_posts` AS thumbposts,
        `wp_postmeta` AS thumb,
        `wp_posts` AS wposts

        INNER JOIN wp_term_relationships AS cat_term_relationships ON (wposts.ID = cat_term_relationships.object_id)
        INNER JOIN wp_term_taxonomy AS cat_term_taxonomy ON (cat_term_relationships.term_taxonomy_id = cat_term_taxonomy.term_taxonomy_id AND cat_term_taxonomy.taxonomy = 'category')
        INNER JOIN wp_terms AS cat_terms ON (cat_term_taxonomy.term_id = cat_terms.term_id)

        WHERE wposts.ID = postmeta.post_id
        AND postmeta.meta_key = 'url'

        AND thumbposts.post_parent = wposts.ID
        AND thumbposts.post_type = 'attachment'

        AND thumb.post_id = thumbposts.ID
        AND thumb.meta_key = '_wp_attachment_metadata'

        AND wposts.post_type = 'post'";

    if($filter == 1){
        $sql .= " AND cat_terms.term_id = '1'";
    }
    if($filter == 2){
        $sql .= " AND cat_terms.term_id = '3'";
    }

    $sql .= " GROUP BY wposts.ID
        ORDER BY wposts.post_date ASC";