2016-04-02 2 views
0

Я пишу плагин, в котором я ниже тип записи:Вызов таможенный пост типа в самом плагине

function create_post_type_contact() { 
register_post_type('contact', 
    array(
     'labels' => array(
      'name' => __('Contacts'), 
        'singular_name' => __('contact'), 
      'add_new' => __('Add New contact'), 
      'add_new_item' => __('Add New contact'), 
      'edit_item' => 'Edit Contact', 
      'new_item' => 'New Contact', 
      'view_item' => 'View Contact', 
      'search_items' => 'Search Contact', 
      'not_found' => 'No contacts found', 
      'not_found_in_trash' => 'No contacts found in Trash' 
      ), 
    'public' => true, 
    'menu_position' => 24, 
    'menu_icon' => 'dashicons-email', 
    'rewrite' => array(
     'slug' => __('contact') 
    ), 
    'supports' => array('title'), 
)); 
} 

Также были добавлены ниже пользовательских метаданных полей:

// Field Array 
$custom_meta_fields_contact = array( 
array(
    'label'=> __('Contact Name'), 
    'desc' => 'Enter Contact Name here', 
    'id' => 'contact_name', 
    'type' => 'text' 
), 
array(
    'label'=> __('Contact Address'), 
    'desc' => 'Enter Contact address here', 
    'id' => 'contact_address', 
    'type' => 'textarea' 
), 
array(
    'label'=> __('Contact No'), 
    'desc' => 'Enter Contact number here', 
    'id' => 'contact_no', 
    'type' => 'text' 
), 
array(
    'label'=> __('Contact Email'), 
    'desc' => 'enter contact email id here', 
    'id' => 'contact_email', 
    'type' => 'text' 
), 
); 

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

Внутри этого плагина мне нужно вызвать мета-поле contact_email. За что я добавил следующий код:

// get the Contact email address 
$args_contact = array('post_type' => 'contact'); 

$contact_posts = new WP_Query($args_contact); 
if($contact_posts->have_posts()) : 
    while($contact_posts->have_posts()) : $contact_posts->the_post(); 
     $to = get_post_meta($post->ID, 'contact_email'); 
    endwhile; endif; 
wp_reset_query(); 

Но всякий раз, когда я пытаюсь получить значение $ внутрь плагина, его не возвращая ничего. Где, как на странице контакта, можно получить и отобразить contact_name, contact_number, contact_address и contact_email правильно.

Любая помощь или предложение будут оценены.

ответ

0

Используйте этот

get_post_meta(get_the_ID(), 'contact_email', true); 

ИЛИ объявить глобальный $ после переменной после того, как если состояние

if($contact_posts->have_posts()) : 
global $post; 
+0

благодаря 4 gr8 помощи. это сработало. Я пропустил глобальную декларацию. – Shubh

Смежные вопросы