Часто в слайдерах, плагинах, да и просто для дальнейшей работы с миниатюрой поста используются произвольные поля, и иногда бывает нужно определить миниатюру поста, и ссылку на нее добавить в произвольное поле – с прямой ссылкой легче работать, чем с функциями, которые ее выводят. Я уже писал, как автоматически сделать первое изображение, присоединенное к посту, его миниатюрой – это удобно, когда нужно создать миниатюры сразу нескольких постов, для которых ранее они не создавались. давайте дополним эту функцию и автоматической вставкой ссылки на миниатюру поста в заранее определенное произвольное поле.
Для этого в файл functions.php вставьте код:
//определяем урл миниатюры, а если его нет, вместо него используем урл дефолтного изображения
function w_thumbnail_src() {
if (has_post_thumbnail()) {
$thumb = wp_get_attachment_image_src(get_post_thumbnail_id(), 'thumbnail');
return $thumb[0]; // урл миниатюры
} else {
return ''; // или урл дефолтной картинки, если миниатюры нет
}
}
//автоматически вставляем урл миниатюры поста в произвольное поле Image
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);
}
}
Эти две функции автоматически добавляют в произвольное поле Image ссылку на изображение, являющееся миниатюрой поста, причем можно указать, в каком виде выводить это изображение: в виде миниатюры маленького, среднего, большого размера или в полную величину (thumbnail, medium, large и full соответственно, в коде используется thumbnail).








а как сделать чтобы в дополнительное поле не просто картинка ставилась , а прямо html код типа
???
нужно чтобы с Img src было сразу в поле !!
Нужно заменить
на
Чего то не работает,а очень хочется..Есть какие нибудь соображения?
Не работает, версия wordpress 3.5.1. А какая версия у вас?