我正在尝试在我的自定义网格生成器中获取一些自定义字段。我添加了一些额外的分类法,并想添加自定义数据来显示。我在这里读过你的文章:https://kb.wpbakery.com/docs/developers-how-tos/adding-custom-shortcode-to-grid-builder/在实现它时,我在尝试获取当前帖子 ID 的 ID 时遇到了问题。我知道代码如下:
add_shortcode( 'vc_post_id', 'vc_post_id_render' );
function vc_post_id_render() {
return '<h2>{{ post_data:ID }}</h2>'; // usage of template variable post_data with argument "ID"
}
问题是 {{ post_data:ID }} 不能保存到变量中以便稍后获取帖子并像这样玩:
$post_id = '{{ post_data:ID }}';
$post = get_post($post_id);
因为它会失败。您能否告诉我如何将当前帖子 ID 作为变量获取,以便我可以在网格上显示自定义数据?
非常感谢。
最佳答案
好的,这就是我的想法。在我的场景中,我有一个名为 price 的自定义字段。 所以我可以使用
来显示价格{{ post_data:price }}
这个。但是当我试图将它分配给一个变量时,它失败了。当我 var_dump 变量时,它每次都会给我 (21) 个字符。所以我认为一定有不可见的字符。所以我
echo bin2hex($price)
结果是 7b7b20706f73745f646174613a7072696365207d7d
而ASCII转文本后就变成了这个
{{ post_data:price }}
然后我意识到了。哦,愚蠢的我。这些是模板标签。就像聪明的或有角度的。他们在页面加载后注入(inject)值。所以 PHP 没有机会获得值(value),因为一切都发生在客户端。
关于php - 在 Grid Builder Visual Composer 中获取变量中的帖子 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43318982/