php - 带有当前页面 ID 的短代码

标签 php wordpress shortcode

由于我对 php 的了解有限,我遇到了困难。

有什么方法可以在wordpress的do_shortcode函数中“放置当前页面id”而不是特定的id号吗?或者是插件内部文件的问题?

<?php echo do_shortcode('[plugin-review id="2"]'); ?>

当我将此代码放入侧边栏时,我不想在网站的每个页面上显示 id=2 页面的内容。

感谢您提供可能的解决方案。

编辑:我刚刚也发现了这个功能(还有更多具有相同内容的功能),这可能会有帮助?

公共(public)函数 do_shortcode_ ratings( $atts ) { 提取(短代码_atts(数组( 'id' => '', '模板' => '', 'post' => get_the_ID() ), $atts ) );

    $shortcode = '[plugin-review id="'. $id .'" branch="ratings" post="'. $post .'" template="'. $template .'"]';

    return do_shortcode( $shortcode );

}

最佳答案

当前帖子/页面 ID 可通过全局 $post 变量获得,即

global $post;
$current_id = $post->ID;

现在您可以在短代码中使用 $current_id :)

关于php - 带有当前页面 ID 的短代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40452892/

相关文章:

wordpress - WP 全部导入 str_replace (WooCommerce)

php - 如何合并 WooCommerce 中的“描述”和“附加信息”选项卡?

php - 允许使用 WordPress 的 Gallery Shortcode 自定义图像大小

javascript - 使用 javascript/jQuery 复制 div 文本内容

javascript - 按类名获取元素并更改类名

php - 更改 WooCommerce 短代码输出中的标记

php - 如何使用 preg_replace regEx 将整个 div 替换为另一个

php - 试图让 PHP 和数据库协同工作

php - 插入新行并获取它的 id mysql

javascript - 将div id存储在php变量中?