Wordpress短代码弹出包括wp功能

时间:2013-10-17 09:02:56

标签: javascript php wordpress popup shortcode

我使用本教程为我的tinymce添加了一个短代码按钮 http://www.garyc40.com/2010/03/how-to-make-shortcodes-user-friendly/ 一切正常。

我现在想在弹出文件中加入一些wordpress函数,以便使用'colorpicker','mediainclude'等。

这不起作用。在我的弹出文件中,我尝试包含这些脚本以使用它,但它不起作用:

$absolute_path = __FILE__;
$path_to_file = explode( 'wp-content', $absolute_path );
$path_to_wp = $path_to_file[0];
// Access WordPress
require_once( $path_to_wp . '/wp-load.php' );
wp_enqueue_script('media-upload');
wp_enqueue_style('thickbox');
wp_enqueue_style( 'wp-color-picker' );

1 个答案:

答案 0 :(得分:0)

我昨晚搞定了这个。我认为你忘记了为colorpicker等排队的风格。这就是我将脚本排队的方式。

<?php 
if ( !current_user_can('publish_posts') ) exit();

wp_enqueue_script( 
    array( 
        'iris', 
        'json2', 
        'jquery', 
        'jquery-ui-core', 
        'jquery-ui-sortable',
        'jquery-ui-tabs',
        'jquery-ui-slider',
        'jquery-ui-datepicker',
        'jquery-ui-autocomplete',
        'tiny-mce-popup',
        'shortcodes',
        'media-upload', 
        'thickbox',
    )  
); 
    wp_enqueue_style( 'wp-color-picker', false, true );          
    wp_enqueue_script( 'wp-color-picker', false, true ); 
?>

不确定为什么,但最后两个只在这样做时才有用。

然后这是颜色选择器的脚本。

<script>
jQuery(document).ready(function($){
var myOptions = {
    // you can declare a default color here,
    // or in the data-default-color attribute on the input
    defaultColor: false,
    // a callback to fire whenever the color changes to a valid color
    change: function(event, ui){},
    // a callback to fire when the input is emptied or an invalid color
    clear: function() {},
    // hide the color picker controls on load
    hide: true,
    // show a group of common colors beneath the square
    // or, supply an array of colors to customize further
    palettes: true
};

$('.my-color-field').wpColorPicker(myOptions);
});
</script>

用于显示颜色选择器的HTML。

<span class="wp-picker-input-wrap">
  <input type="text" class="my-color-field" style="display: none;">
</span>

如果这对你有用,请告诉我。这都在我的window.php文件中,该文件用于填充厚箱窗口中的内容等。