WP-CITY.RU

Авторские шаблоны WordPress

Недорогой, функциональный сайт или Интернет-магазин — это реально!


Заказать сейчас

Дополнительный текстовый редактор для одной страницы

Доброго вечера, бывают случаи когда нужно внедрить дополнительный текстовый редактор только для определенной страницы, а не для всего сайта в целом.

Как правило в просторах интернета очень мало подобной информации, либо она однообразна и применима для всего сайта в целом.

Для создания дополнительного текстового редактора или WYSIWYG нам потребуется файл functions.php, который расположен в корневом каталоге Вашей темы. Весь процесс создания еще одного поля с редактором сводится к регистрации нового meta_box.

 

/*
* функция добавления редактора
*/
function true_double_editor() {
global $post;
if ($post->post_excerpt) echo '
<div>' . do_shortcode(wpautop(wptexturize($post-&gt;post_excerpt))) . '</div>
';
$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ;
$template_file = get_post_meta($post_id,'_wp_page_template',TRUE);
// check for a template type
if ($template_file == 'chexly.php') {
echo '
<h2>Описание</h2>
'; // заголовок ко второму редактору

wp_editor( get_post_meta($post-&gt;ID, '_true_editor_data', true), 'trueeditor' );
}
}
add_action( 'edit_form_advanced', 'true_double_editor' );
add_action( 'edit_page_form', 'true_double_editor' );

/*
* функция сохранения данных
*/
function true_save_double_editor($post_id){
update_post_meta($post_id, '_true_editor_data', $_POST['trueeditor']);
}

add_action('save_post', 'true_save_double_editor');

 

Именно данная функция отвечает за вывод дополнительного текстового редактора для страницы chexly.php

if ($template_file == 'chexly.php')

В дальнейшем можно менять название страницы для которой нужен редактор.

Теперь осталось вывести наш редактор,в нужном месте следует прописать функцию вывода.

<?php echo apply_filters('the_content', get_post_meta($post->ID, '_true_editor_data', true)); ?>

© 2012–2017 / wp-city.ru / Авторские шаблоны WORDPRESS / Создание сайтов

evgeniy38868     krizisvt@i.ua