使用哪个WordPress函数通过使用元键来获取元值?

时间:2018-06-16 作者:Ray Macz

代码如下:

if ($keys = get_post_custom_keys()) {
    foreach ((array) $keys as $key) {
        $keyt = trim($key);
        if (is_protected_meta($keyt, \'post\')) {
            continue;
        }

        $values = array_map(\'trim\', 
        get_post_custom_values($key));
        $value = implode($values, \', \');
        echo " key : ".$key;
        echo " value : ".$value;
    }
}
结果:

keyyy : nova_price valueee : $9 
我的问题是:是否有特定的Wordpress函数来获取元值$9 使用元密钥nova price?

我尝试使用此WP功能:

echo" get_post_meta: "; get_post_meta(the_ID(), \'nova_price\', true);
但结果是:

get_post_meta: 1872 
任何帮助都将不胜感激。非常感谢。

2 个回复
最合适的回答,由SO网友:Kumar 整理而成

正如评论中建议的解决方案为您解决了问题,我将把它作为答案张贴在这里。

您需要更换the_ID() 在您的get_post_meta(the_ID(), \'nova_price\', true); 呼叫

因为the_ID() 直接输出post ID,然后为您打印它,而不是meta。

正确的代码是:get_post_meta( get_the_ID(), \'nova_price\', true)这将为您获取给定帖子的nova\\u price值。

SO网友:Ray Macz

事实上,这真的是我愚蠢的错误。不知怎的,我太专注于get\\u post\\u meta()。检查WP代码参考后,我开始意识到这不是包装器的问题get_post_meta(), 当这起作用时:

get_metadata(\'post\', 1874, \'nova_price\', true);
所以问题是:

echo" get_post_meta: ";  get_post_meta(get_the_ID(), \'nova_price\', true);
应该是这样的:

echo" get_post_meta: ". get_post_meta(get_the_ID(), \'nova_price\', true);
我忽略了一个小问题。至少现在,我知道了通过WP中的meta键获取值的2个函数。再次感谢您的努力&;帮助

结束

相关推荐

对WooCommerce的Functions.php更改不起作用

我正在尝试将其添加到函数中。php。在我的另一个站点上的测试实验室中,它可以很好地添加测试信息。但在这个网站上,我试图把它添加到什么都没有发生的情况下。该网站正在使用最新的woocommerce运行一个建筑节俭主题。有什么想法吗?我基本上只是想在每个产品页面上添加一行类似于免责声明但无法添加的文本。add_action(\'woocommerce_before_add_to_cart_form\',\'print_something_below_short_description\');