使用wp_editor()替换post meta中的文本区域WordPress

omhiaaxx  于 2023-05-12  发布在  WordPress
关注(0)|答案(1)|浏览(123)

我有post meta的文本区域:

<textarea id ="product_description" style="width: 100%" name="product_description"><?php echo get_post_meta($post->ID, 'product_description', true); ?></textarea>

    if ( isset( $_POST[ 'product_description' ] ) ) {
    update_post_meta( $post_id, 'product_description', sanitize_text_field($_POST['product_description']) );
}

我想用wp_editor()修改文本区域。请帮帮我。我试着找了各种各样的评论,但都失败了。

yhived7q

yhived7q1#

要使用wp_editor()将textarea替换为WordPress编辑器,您需要将textarea标记替换为输出WordPress编辑器的函数调用。
下面是一个如何执行此操作的示例:
使用以下代码替换现有的textarea:

<?php
$content = get_post_meta( $post->ID, 'product_description', true );
$editor_id = 'product_description_editor';
$settings = array(
    'textarea_name' => 'product_description',
    'media_buttons' => false,
    'textarea_rows' => 10,
    'teeny'         => true,
    'quicktags'     => false
);
wp_editor( $content, $editor_id, $settings );
?>

这将输出WordPress编辑器,而不是文本区域。请注意,wp_editor函数接受多个参数,包括要在编辑器中显示的内容、编辑器ID和各种设置。
确保替换现有的if(isset($_POST[ 'product_description' ])){...下面是一个例子:

<?php
if ( isset( $_POST[ 'product_description' ] ) ) {
    update_post_meta( $post_id, 'product_description', wp_kses_post( $_POST[ 'product_description' ] ) );
}
?>

wp_kses_post函数用于在将编辑器内容保存到数据库之前对其进行清理。此函数允许基本的HTML标记和属性,同时删除潜在危险的脚本标记和属性。
我希望这有帮助!

相关问题