媒体库在前端不使用wp_EDITOR()

时间:2020-01-04 作者:Álvaro Franz

Very related: Add Media has stopped working in the front end since 4.5 update

我想运行wp_editor() 函数在前端加载经典WordPress编辑器。

我需要在WordPress主题之外执行此操作,因此我正在手动加载WordPress:

require_once("../wp-load.php");
这让我可以使用wp_editor() 函数,具有一些自定义设置。

define(\'WP_DEBUG\', true);

$settings = array(
\'wpautop\' => true,
\'media_buttons\' => true,
\'textarea_name\' => \'contenido\',
\'textarea_rows\' => 12,
\'tabindex\' => \'\',
\'editor_css\' => \'\',
\'editor_class\' => \'\',
\'teeny\' => false,
\'dfw\' => false,
\'tinymce\' => true,
\'quicktags\' => true
);

wp_editor( \'\' /* Empty content */, \'contenido\' /* ID */, $settings );
我还按如下方式登录用户:

$user_id = $_SESSION[\'userID\'];
$user = get_user_by( \'id\', $user_id ); 

if( $user ) {
    $curr_user = new WP_User( $user_id , $user->user_login ); 
    wp_set_auth_cookie( $user_id );
    do_action( \'wp_login\', $user->user_login );
}
我正在将所需的脚本和样式加载到head DOM的节。(你知道我是否遗漏了什么,订单是否重要?)

<?php
wp_enqueue_script( \'underscore\' );
wp_enqueue_script( \'jquery\' );
wp_enqueue_script( \'wp-util\' );

wp_enqueue_script( \'thickbox\' );
wp_enqueue_style( \'thickbox\' );

wp_enqueue_script( \'editor\' );
wp_enqueue_script( \'quicktags\' );
wp_enqueue_style( \'buttons\' );
wp_enqueue_script( \'wplink\' );
wp_enqueue_script( \'jquery-ui-autocomplete\' );
wp_enqueue_script( \'wp-fullscreen-stub\' );
wp_enqueue_script( \'media-upload\' );
wp_enqueue_script( \'wp-embed\' );

_WP_Editors::enqueue_scripts(false);
_WP_Editors::editor_js();

wp_print_scripts();
?>

</body>
</html>
但“媒体”按钮不起作用(它显示并响应“单击”事件,但不会打开“单击时模式”)。

Console error says (when clicking the Insert Media button):

TypeError:i在下划线处未定义。最小js

我挖掘了源代码,似乎引用了数据编辑器属性。

但是,至少在DOM中,它是正确定义的。

也许我的队列中缺少了一个重要的脚本?

1 个回复
SO网友:mems

您需要使用此脚本https://github.com/anteprimorac/js-wp-editor.

这可以用来添加WordPress编辑器php:wp\\u editor()