включить w_thumbnail_src в функцию? - PullRequest
1 голос
/ 05 февраля 2012

У меня есть функция, которая автоматически создает настраиваемое поле в сообщении. У меня это есть в файле functions.php.

Image - это имя настраиваемого поля, а HERE - это значение. Как я могу поставить функцию w_thumbnail_src в качестве переменной?

add_action('wp_insert_post', 'mk_set_default_custom_fields');
    function mk_set_default_custom_fields($post_id)

    {
        if ( $_GET['post_type'] != 'post' ) {
            add_post_meta($post_id, 'Image','HERE', true);
        }
        return true;
    }

и позвольте мне добавить, что w_thumbnail_src - это функция в том же файле, которая выглядит следующим образом

function w_thumbnail_src() {
    if (has_post_thumbnail()) {
        $thumb = wp_get_attachment_image_src(get_post_thumbnail_id(), 'emphasis');
       echo $thumb[0]; // thumbnail url
    }
}

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

Я думаю, вам нужно изменить:
add_post_meta($post_id, 'Image','HERE', true);
чтобы:
add_post_meta($post_id, 'Image', w_thumbnail_src(), true);

А также исправьте функцию w_thumbnail_src (), изменив ее на следующее:

function w_thumbnail_src() {
    if (has_post_thumbnail()) {
        $thumb = wp_get_attachment_image_src(get_post_thumbnail_id(), 'emphasis');
        return $thumb[0]; // thumbnail url
    } else {
        return '';  // or a default thumbnail url
    }
}
0 голосов
/ 06 февраля 2012

Вот окончательный код, который добавляет URL-адрес миниатюры в настраиваемое поле с именем Image.

function w_thumbnail_src() {
    if (has_post_thumbnail()) {
        $thumb = wp_get_attachment_image_src(get_post_thumbnail_id(), 'emphasis');
        return $thumb[0]; // thumbnail url
    } else {
        return '';  // or a default thumbnail url
    }
}


add_action('publish_page', 'add_custom_field_automatically', 'w_thumbnail_src');
add_action('publish_post', 'add_custom_field_automatically');
function add_custom_field_automatically($post_id) {
global $wpdb;
if(!wp_is_post_revision($post_id)) {
add_post_meta($post_id, 'Image', w_thumbnail_src(), true);
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...