在自定义tinyMCE按钮中使用POST ID

时间:2013-11-03 作者:Marcin Bobowski

我正在构建一个简单的插件,需要能够在用户单击自定义tinyMCE按钮(在其onclick函数内)时访问当前的帖子id。我应该如何获得当前的帖子ID才能做到这一点。

就本例而言,本教程中的代码:http://brettterpstra.com/2010/04/17/adding-a-tinymce-button/可以使用,单击按钮后,可以将当前帖子id登录到控制台(console.log)或提醒屏幕。

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

您需要在php代码中放置一个全局命名空间的javascript变量,将要为编辑器页面加载的脚本排入队列。

因此,此代码将一个脚本函数排入队列,以添加到“编辑帖子/页面”屏幕:

add_action(\'admin_head\',\'my_add_styles_admin\');
function my_add_styles_admin() {

    global $current_screen;
    $type = $current_screen->post_type;

    if (is_admin() && $type == \'post\' || $type == \'page\') {
        ?>
        <script type="text/javascript">
        var post_id = \'<?php global $post; echo $post->ID; ?>\';
        </script>
        <?php
    }
}
现在,在您的editor\\u插件中。tinymce按钮的js文件;只需调用post_id javascript变量。

SO网友:Paflow

我找到了一个更简单的解决方案,也许有人可以使用它:

    var post_id = jQuery(\'#post_ID\').val();

结束

相关推荐

TinyMCE格式下拉菜单不再显示样式预览

在过去,通过添加编辑器样式表,我能够在格式和样式下拉列表中看到选项,就像它们出现在帖子中一样。也就是说,菜单中的条目将根据放置在编辑器样式表中的CSS规则设置样式。奇怪的是,这在两个都已更新为WP 3.6的站点上停止了工作。我仍然可以在编辑器内容窗口中看到自定义样式,并且这些样式仍然应用于帖子内容-它们只是不作为样式选项显示在下拉菜单中。更奇怪的是,我定义的一个自定义规则确实会显示在下拉列表中,并应用其自定义样式。编辑器样式表实际上是通过以下内容添加的整个前端样式表,并且显然是有效的,因为样式在帖子内容中