Что-то не так с этим кодом? - PullRequest
0 голосов
/ 04 апреля 2010

Должен ли я на самом деле возвращать $ postID в каждом случае в приведенном ниже коде?

Это код, необходимый для сбора значений пользовательских полей, которые я добавил в редактор постов и страниц WP. Понял отсюда: http://apartmentonesix.com/2009/03/creating-user-friendly-custom-fields-by-modifying-the-post-page/

add_action('save_post', 'custom_add_save');

function custom_add_save($postID){
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
    return $postID;
}
else
{
    // called after a post or page is saved
    if($parent_id = wp_is_post_revision($postID))
    {
    $postID = $parent_id;
    }

    if ($_POST['my_customHeader']) 
    {
        update_custom_meta($postID, $_POST['my_customHeader'], 'my_customHeader');
    }
    else
    {
        update_custom_meta($postID, '', 'my_customHeader');
    }
    if ($_POST['my_customTitle']) 
    {
        update_custom_meta($postID, $_POST['my_customTitle'], 'my_customTitle');
    }
    else
    {
        update_custom_meta($postID, '', 'my_customTitle');
    }
}
        return $postID; //IS THIS EVEN NECESSARY?
}

function update_custom_meta($postID, $newvalue, $field_name) {
// To create new meta
if(!get_post_meta($postID, $field_name)){
add_post_meta($postID, $field_name, $newvalue);
}else{
// or to update existing meta
update_post_meta($postID, $field_name, $newvalue);
}
}

Ответы [ 2 ]

1 голос
/ 04 апреля 2010

Действия никогда не ожидают возвращаемого значения. Они вызываются do_action('name'); в wp-includes / plugin.php , который ничего не возвращает Так что нет, вам не нужно возвращать $postID.

0 голосов
/ 04 апреля 2010

Насколько я понимаю, код, на который вы вдохновляетесь, не возвращает $postID - и я не вижу в Кодексе ничего такого, что необходимо. Итак, нет?

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