---------- Добавлено 22.11.2014 в 15:30 ----------
Polkan: Создайте новый пост. Опубликуйте. Откройте его на редактирование и посмотрите появилось ли произвольное поле 'kartinki'.
В настройках wp related posts укажите какое поле использовать для миниатюр. В вашем случае - 'kartinki'
И вообще, если планируете показывать картинки таким запросом из single, как написали, то лучше разделить функции - одна для вывода на страницах, другая для создания произвольного поля (ну или параметр на входе добавьте). А то у вас мешанина получится (где-то большие картинки, где-то миниатюры).
Да появилась в новом посте и в wp related posts тоже☝ но что делать со старыми постами?
Так, я вставил код в функции. В сингле вставил код вывода <img src="<?php echo catch_that_image($post_id); ?>" , картинки выводит , но что насчет произвольного поля? Как использовать новые функции которые вы добавили в коде? Допустим я назвал поле kartinki , но в плагине Wordpress Related Posts этого поля не обнаружил чтоб задать вывод картинок. Что то не так
Polkan: // при публикации получим картинку и запишем ее в мета-поле add_action('publish_post', 'add_custom_field_automatically'); function add_custom_field_automatically($post_id) { if(!wp_is_post_revision($post_id)) { $img_url = catch_that_image($post_id); // если произвольное поле с таким именем у данного поста уже есть, изменено оно не будет // т.е. скрипт создаст поле только если его нет add_post_meta($post_id, 'ТУТ_ИМЯ_ВАШЕГО_ПРОИЗВОЛЬНОГО_ПОЛЯ', $img_url, true); } }
Этот кусок вставлять в функции темы или в сингл ? Чет не пойму)
Этим скриптом я создаю миниатюры для записей но в плагине "похожие записи" и "популярные посты" миниатюры не показываются ,но можно задать их через произвольное поле но как его задать?
Создайте новый пост. Опубликуйте. Откройте его на редактирование и посмотрите появилось ли произвольное поле 'kartinki'.
Не появилось( что то упустили, добавил в сингл вывод произвольного поля
выводит слово Array .
:(:(:(
---------- Добавлено 22.11.2014 в 15:30 ----------
Создайте новый пост. Опубликуйте. Откройте его на редактирование и посмотрите появилось ли произвольное поле 'kartinki'.
В настройках wp related posts укажите какое поле использовать для миниатюр. В вашем случае - 'kartinki'
И вообще, если планируете показывать картинки таким запросом из single, как написали, то лучше разделить функции - одна для вывода на страницах, другая для создания произвольного поля (ну или параметр на входе добавьте). А то у вас мешанина получится (где-то большие картинки, где-то миниатюры).
Да появилась в новом посте и в wp related posts тоже☝ но что делать со старыми постами?
Так, я вставил код в функции. В сингле вставил код вывода <img src="<?php echo catch_that_image($post_id); ?>" , картинки выводит , но что насчет произвольного поля? Как использовать новые функции которые вы добавили в коде? Допустим я назвал поле kartinki , но в плагине Wordpress Related Posts этого поля не обнаружил чтоб задать вывод картинок. Что то не так
Polkan,
// при публикации получим картинку и запишем ее в мета-поле add_action('publish_post', 'add_custom_field_automatically'); function add_custom_field_automatically($post_id) { if(!wp_is_post_revision($post_id)) { $img_url = catch_that_image($post_id); // если произвольное поле с таким именем у данного поста уже есть, изменено оно не будет // т.е. скрипт создаст поле только если его нет add_post_meta($post_id, 'ТУТ_ИМЯ_ВАШЕГО_ПРОИЗВОЛЬНОГО_ПОЛЯ', $img_url, true); } }
Этот кусок вставлять в функции темы или в сингл ? Чет не пойму)
Всем привет,
У меня вопрос: как задать произвольное поле для картинки при помощи этого скрипта
function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$first_img = $matches [1] [0];
// no image found display default image instead
if(empty($first_img)){
$first_img = "/wp-content/uploads/2010/03/103.jpg";
}
return $first_img;
}
Этим скриптом я создаю миниатюры для записей но в плагине "похожие записи" и "популярные посты" миниатюры не показываются ,но можно задать их через произвольное поле но как его задать?
Своими силами не получается решить проблему(