Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.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
Php 如何显示特定帖子中的meta_值_Php_Wordpress - Fatal编程技术网

Php 如何显示特定帖子中的meta_值

Php 如何显示特定帖子中的meta_值,php,wordpress,Php,Wordpress,我尝试过以下代码: <select name="productSize" id="productSize"> <?php $metakey = 'size'; $sizes = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM $wpdb->postmeta WHERE meta_key = %s ORDER BY meta_value ASC", $metake

我尝试过以下代码:

<select name="productSize" id="productSize">
    <?php
        $metakey = 'size';
        $sizes = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM $wpdb->postmeta WHERE meta_key = %s ORDER BY meta_value ASC", $metakey) );
        if ($sizes) {
            foreach ($sizes as $size) {
                echo "<option value=\"" . $size . "\">" . $size . "</option>";
            }
        }
    ?>
</select>

但它显示了所有帖子中带有“size”键的所有值。我只想显示每个帖子上关联的值。怎么做


谢谢,非常感谢您的帮助。

如果需要,更改$post->ID,但默认情况下它将加载当前加载的post ID

<select name="productSize" id="productSize">
    <?php
        global $post;
        $metakey = 'size';
        $sizes = get_post_meta($post->ID, $metakey, false);
        if (count($sizes) != 0) {
            foreach ($sizes as $size) {
            echo "<option value=\"" . $size . "\">" . $size . "</option>";
            }
        }
    ?>
</select>


我假设您有post ID(例如,您在循环中调用这个)?我想你有两个选择。使用该函数,或更改用于传递帖子ID的SQL。使用
get\u post\u meta
可能更简单。感谢您的回答,我终于自己找到了答案。再一次,非常感谢。这使得你的问题对Stackoverflow社区毫无用处,不是吗?你想出来了,却懒得解释你是怎么做到的,所以现在没有人能从中受益。有礼貌地写下你的答案作为你问题的答案。