gpt4 book ai didi

php - WordPress 在循环外获取自定义元值

转载 作者:行者123 更新时间:2023-12-04 17:40:28 25 4
gpt4 key购买 nike

我正在尝试获取自定义字段 'product_url' 的值,此代码在 functions.php 中,我在单个帖子中使用简码。自定义字段 'product_url' 存在于此帖子中并且不为空。

 function metavalue() {
GLOBAL $post;
$meta = get_post_meta($post->ID, 'product_url', true);
echo $meta;


}
add_shortcode('url_short', 'metavalue');

当我使用短代码时没有显示任何内容。 var_dump($meta); 将输出

string(0) ""

.

最佳答案

您需要将 $postid 传递给您的 get_post_meta 函数。

 function metavalue() {
global $post;
$meta = get_post_meta($post->ID, 'product_url', true);
return $meta;
}
add_shortcode('url_short', 'metavalue');

如何调试:

  • 检查产品或帖子是否具有 product_url 值。
  • 获取您可以通过管理员编辑帖子/页面获取的产品/帖子的 ID。
  • 在短代码函数中将 ID 作为静态值传递。

    函数元值(){
    全局 $post;
    $meta = get_post_meta(112, 'product_url', true);//112 静态postid
    返回元;
    }
    add_shortcode('url_short', '元值');

版本 2:带参数的简码

将用户属性与已知属性结合起来,并在需要时填写默认值。

这些对应该被认为是调用者支持并作为列表给出的所有属性。返回的属性将只包含 $pairs 列表中的属性。

如果 $atts 列表有不受支持的属性,那么它们将被忽略并从最终返回的列表中删除。

function metavalue($atts) {

$atts = shortcode_atts(
array(
'postid' => 1,
), $atts, 'url_short' );
global $post;

$meta = get_post_meta($atts['postid'], 'product_url', true); // 112 static postid
return $meta;
}
add_shortcode('url_short', 'metavalue');

使用方法:

[url_short postid=1911]

关于php - WordPress 在循环外获取自定义元值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54741210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com