Я новичок в создании мета-ящиков, но мне удалось создать хороший для моих нужд. Тем не менее, мне нужно, чтобы два из полей ввода были отформатированным текстом (показано в моем коде); сохранены как таковые и выводятся на сайт как таковой. Хотя я не могу заставить его работать. Я могу получить данные для сохранения в базе данных, что хорошо – но он не сохранит текст с такими вещами, как перерывы, полужирный, h1-теги, абзацы и т. Д. Хотя я удалил много других элементов, чтобы сократить код для вашего обзора, вот что я до сих пор:
class Tour_Meta { public function __construct() { if ( is_admin() ) { add_action( 'load-post.php', array( $this, 'init_metabox' ) ); add_action( 'load-post-new.php', array( $this, 'init_metabox' ) ); } } public function init_metabox() { add_action( 'add_meta_boxes', array( $this, 'add_metabox' ) ); add_action( 'save_post', array( $this, 'save_metabox' ), 10, 2 ); } public function add_metabox() { add_meta_box( 'tourMeta', __( 'Details for this tour', 'dappa' ), array( $this, 'render_trmeta' ), 'tours', 'advanced', 'high' ); } public function render_trmeta( $post ) { $trmet_itinerary = get_post_meta($post->ID, 'trmet_itinerary', true); $trmet_overview = get_post_meta( $post->ID, 'trmet_overview', true ); if( empty( $trmet_itinerary ) ) $trmet_itinerary = ''; if( empty( $trmet_overview ) ) $trmet_overview = ''; echo '<div class="form-table" id="tourEntries">'; echo' <h2>Tour Overview</h2>'; wp_editor(htmlspecialchars_decode($trmet_overview) , 'trmet_overview', array( "media_buttons" => true )); echo' <h2>Tour Itinerary</h2>'; wp_editor(htmlspecialchars_decode($trmet_itinerary) , 'trmet_itinerary', array( "media_buttons" => true )); echo' </div>'; } public function save_metabox( $post_id, $post ) { $trmet_new_itinerary = isset( $_POST[ 'trmet_itinerary' ] ) ? sanitize_text_field( $_POST[ 'trmet_itinerary' ] ) : ''; $trmet_new_overview = isset( $_POST[ 'trmet_overview' ] ) ? sanitize_text_field( $_POST[ 'trmet_overview' ] ) : ''; } } new Tour_Meta
Я также пробовал разные способы вывода метаданных на страницу, но это не имеет большого значения, если на бэкэнд он не сохраняется правильно.
Любые идеи, которые у вас есть, ценятся. Благодаря!