Taxonomy Images Plugin отлично справляется с прикреплением картинок к рубрикам, меткам и даже самостоятельно созданным таксономиям.
Установите плагин и в настройках поставьте галочки напротив нужных таксономий (рубрики, метки) к которым хотите прикреплять картинки.
Ну а дальше дело техники…
Автор
☭Gu
(@gusoft)
>> Ну а дальше дело техники…
Вот это как раз и интересует.
Сейчас установлен плагин «Enhanced Media Library» с аналогичными функциями.
Есть например 2 рубрики, 2 картинки, которые к ним привязаны, и новость, которая входит в эти 2 рубрики.
Можете привести кусочек кода, который при отображении\показе новости выведет эти картинки перед текстом либо в заголовке, либо в теле новости перед началом текста, скажем друг за дружкой в строку?
get_the_category если без плагина.
<?php
foreach((get_the_category()) as $category) {
echo ‘<img src=»http://example.com/images/’ . $category->cat_ID . ‘.jpg» alt=»‘ . $category->cat_name . ‘» />’;
}
?>
название картинки должно соответствовать id рубрики.
Автор
☭Gu
(@gusoft)
большое спасибо, это отлично работает!
можете еще немного пособить — в этом коде добавить условие «и файл найден» и к img привязать ссылку на категорию?
в первом случае если файла нет показываются крестики(пустые картинки) с именем категории — основных категорий несколько, а подкатегорий много, на все картинки не нужны, только на основные (т.е. если файла нет — пропускаем).
во втором случае — чтобы была возможность кликнув на картинку категории — эту категорию открыть (все записи с этой категорией).
Автор
☭Gu
(@gusoft)
попробовал сам. немного поправил + добавил подсказку, добавил ссылку, а вот с проверкой наличия файла застрял. где ошибка? 🙁
<?php
foreach((get_the_category()) as $category)
{
$mypngfile_= esc_url( site_url() ) . "/" . $category->cat_ID . ".png";
if (file_exists($mypngfile_))
{
echo '<a href="'. get_category_link( $category->cat_ID ) .'" class="category_logo"> <img title="' . $category->cat_name . '" src="' . $mypngfile_ . '" alt="' . $category->cat_name . '" /></a>';
}
}
?>
без проверки файла работает. или тут url<>file ? какой функцией воспользоваться для проверки файла?
Автор
☭Gu
(@gusoft)
дошло, поправил.
<?php
foreach((get_the_category()) as $category)
{
$mypngfile_ = $category->cat_ID . ".png";
if (file_exists(ABSPATH . $mypngfile_))
{
echo '<a href="'. get_category_link( $category->cat_ID ) .'" class="category_logo"> <img title="' . $category->cat_name . '" src="' . esc_url( site_url() ) . "/" . $mypngfile_ . '" alt="' . $category->cat_name . '" /></a>';
}
}
?>
Автор
☭Gu
(@gusoft)
вопрос в принципе закрыт.
может кто проверит — все ли верно? или есть способ лучше?
если не ошибаюсь, то file_exists проверяет относительный путь, а не url. для проверки файла по урлу можно использовать такой код:
$file = 'http://www.domain.com/somefile.jpg';
$file_headers = @get_headers($file);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
$exists = false;
}
else {
$exists = true;
}
Автор
☭Gu
(@gusoft)
спасибо.
++
а для https это работает?