редактор wp удаляет абзац из пользовательского мета-поля
Я создал пользовательский мета-блок следующим образом:
/*quote meta box*/
add_action('add_meta_boxes', 'quote_meta_box');
function quote_meta_box($post) {
global $post;
$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ;
$blogPage = get_option('page_for_posts');
if($blogPage != $post_id) {
if($post_id != '8') {
add_meta_box('quote_id', 'Quote', 'quote_meta_box_cb', 'page', 'normal', 'high');
}
}
}
function quote_meta_box_cb($post) {
global $post;
wp_nonce_field('quote_nonce', 'quote_meta_box_nonce');
$values = get_post_custom($post->ID);
$quote = get_post_meta($post->ID, 'quote_text', true);
$settings = array(
'textarea_rows' => 15
);
echo '<p><strong>Quote</strong></p>';
wp_editor($quote, 'quote-text', $settings);
}
function quote_save($post_id) {
if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
if(!isset($_POST['quote_meta_box_nonce']) || !wp_verify_nonce($_POST['quote_meta_box_nonce'], 'quote_nonce')) return;
if(!current_user_can('edit_post')) return;
if(isset($_POST['quote-text'])) {
update_post_meta($post_id, 'quote_text', $_POST['quote-text']);
}
}
add_action('save_post', 'quote_save');
Затем я вызываю это в своем шаблоне, например:
<?php $quote = get_post_meta($post_id, 'quote_text', true); ?>
<?php echo $quote; ?>
Я пытаюсь добавить абзац и тег заголовка. Каждый раз, когда я сохраняю страницу, wp_editor() удаляет мои теги p, но сохраняет h4, который я использую.
Может кто-нибудь, пожалуйста, помочь, так как я вырываю волосы, так как понятия не имею, зачем он это делает.
Спасибо
Алекс
1
1 answers
Вы пробовали echo wpautop($quote);
? Он создан для работы с визуальным редактором TynMCE.
Кстати, я рекомендую вам использовать класс awesome https://github.com/jaredatch/Custom-Metaboxes-and-Fields-for-WordPress
3
Author: hawkidoki, 2013-08-06 22:54:13