Отображение мета-поля в настраиваемом типе сообщений на странице

У меня проблема. Я пытаюсь добавить текстовое поле мета-поля в пользовательский тип сообщения (в плагине) с пользовательской таблицей базы данных. Мета-окно отображается в пользовательском типе сообщений, сохраняя и обновляя, но просто не отображая данные на странице (передняя часть), и я просто не могу понять это. Он показывает название и содержание сообщения, но не введенные данные. Вот мой код для мета-окна:

//show metabox in post editing page add_action('add_meta_boxes', 'bsp_add_metabox' ); function bsp_add_metabox() { // add_meta_box( $id, $title, $callback, $screen, $context, $priority ); add_meta_box('bsp_mother_tongue', 'Mother language','bsp_mother_tongue_handler', 'badge','normal'); } //showing the meta box on admin page function bsp_mother_tongue_handler($post){ $value = get_post_custom($post->ID); ?> <!--<label for="bsp_text_meta">Mother language </label><br />--> <textarea id="bsp_text_meta" name="bsp_text_meta" class="widefat" style="overflow:auto; resize:none" rows="15"><?php if(isset($value['bsp_text_meta'])) {echo $value['bsp_text_meta'][0]; } ?></textarea> 

 //check if user can edit post if( !current_user_can( 'edit_posts' ) ) { return; } if( isset($_POST['bsp_text_meta'] )) { update_post_meta($post_id, 'bsp_text_meta', esc_attr($_POST['bsp_text_meta'])); } } 

Значок – это имя настраиваемого типа сообщения (slug).

Если вы не используете несколько ключей и значений, я бы попробовал это так

 // This function adds a meta box with a callback function of my_metabox_callback() function add_my_meta_box() { $var1 = 'this'; $var2 = 'that'; add_meta_box( 'metabox_id', 'Metabox Title', 'my_metabox_callback', 'page', 'normal', 'low', array( 'foo' => $var1, 'bar' => $var2) ); } // $post is an object containing the current post (as a $post object) // $metabox is an array with metabox id, title, callback, and args elements. // The args element is an array containing your passed $callback_args variables. function my_metabox_callback ( $post, $metabox ) { echo 'Last Modified: ' . $post->post_modified; // outputs last time the post was modified echo $metabox['args']['foo']; // outputs 'this' echo $metabox['args']['bar']; // outputs 'that' echo get_post_meta( $post->ID, 'my_custom_field', true ); // outputs value of custom field } 

Также вы можете использовать фильтр the_content, чтобы добавить что-нибудь в single.php

Пример кода:

 function tsi_source_link($content) { if ( is_single() ) { global $post; $source_link = get_post_meta ($post->ID, 'syndication_permalink', true); if ($source_link) { $content .= '<div id="tsi-source-link" style="text-align:right;"><a href="' . $source_link . '" target="_blank">Read more ...</a></div>'; } } return $content; } add_action('the_content','tsi_source_link');