Пользовательские поля Wordpress в пользовательских типах записей - PullRequest
2 голосов
/ 03 февраля 2011

Приобретенная мной тема пришла без пользовательских полей в редакторе сообщений / продуктов.Он использует пользовательский тип записи в своем собственном файле администратора php.Мне удалось добавить пользовательские поля, вытащив следующий код из файла wordpress core metabox.php, однако я не уверен, как заставить его работать.Отсутствует область, в которой должны находиться значения настраиваемых полей.

<div id="postcustomstuff">
<div id="ajax-response"></div>
<?php
$metadata = has_meta($post->ID);
list_meta($metadata);
meta_form(); ?>
</div>

Ответы [ 2 ]

8 голосов
/ 02 мая 2011

Разработчик забыл поддерживать «настраиваемые поля» при вызове register_post_type.

При редактировании поста, если в настройках экрана для пользовательских полей нет флажка, поэтомуВ крюке инициализации для моего плагина я делаю ...

register_post_type('mynamespace_product',
    array('labels' => array(
            'name' => __( 'Products' ),
            'singular_name' => __( 'Product' )
            ),
        'taxonomies' => array('category', 'product_type'), // this is IMPORTANT,                
        'public' => true,
        'has_archive' => true,
        'supports' => array('title','editor','custom-fields','comments')    
        )           
    );
2 голосов
/ 06 февраля 2011

Чтобы получить настраиваемые поля, связанные с сообщением, вы можете запросить его следующим образом:

 if ( get_post_meta($post->ID, 'my_customfield', true) ) : 
 echo get_post_meta($post->ID, 'my_customfield', true) 
 endif; 

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...