php - 在 Grid Builder Visual Composer 中获取变量中的帖子 ID

标签 php wordpress grid visual-composer

我正在尝试在我的自定义网格生成器中获取一些自定义字段。我添加了一些额外的分类法,并想添加自定义数据来显示。我在这里读过你的文章: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/

相关文章:

java - 如何将网络添加到我在 GridWorld 中制作的游戏中?

javascript - ajax post to file 函数什么都不做

php - 如何在 functions.php 中设置类样式

PHP & MySQL 多个类别中的一项

php - ajax 时钟上的 net::ERR_INSUFFICIENT_RESOURCES 错误

html - wordpress 静态页面的 header 无法正确呈现

php - 通过单击链接将数据更新到 mysql 数据库

wordpress 中的 css Sprite

html - Bootstrap3 中嵌套行之间缺少间距的问题

c# - 根据属性显示/隐藏网格行?