在函数中包含w_thumbnail_src?

时间:2012-02-05 19:05:11

标签: php wordpress function thumbnails

我有一个在帖子中自动创建自定义字段的功能。我把它放在我的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 个答案:

答案 0 :(得分:1)

我认为你需要改变:
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
    }
}

答案 1 :(得分:0)

以下是将缩略图网址添加到名为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);
}
}