Спрашиваем и отвечаем по Wordpress-5

S3
На сайте с 18.04.2011
Offline
109
#921
Jaf4:
Супер. Еще вопрос.
Это код вывода картинки, если айди в коде совпадает с айди страницы.
Что нужно написать, чтобы на двух десятках страниц выводились свои картинки?

<?php if (is_page(1)) { ?> код или картинка <?php } ?>
<?php if (is_page(2)) { ?> код или картинка <?php } ?>
<?php if (is_page(3)) { ?> код или картинка <?php } ?>
...
<?php if (is_page(192)) { ?> код или картинка <?php } ?>

не могу понять, что именно требуется, как то расширьте тз, а то после вчерашнего с трудом соображается 😂

Jaf4
На сайте с 03.08.2009
Offline
804
#922
outtime:
Попробуйте как-то так

Интересный подход, но у меня там ЧПУ с кириллицей.

Как я понял, мы выцепляем некую, уникальную последовательность из урла и ищем картинку для вывода с таким же именем.

New! NVMe VPS от SmartApe.ru (https://goo.gl/eoYYkS)
outtime
На сайте с 04.05.2008
Offline
197
#923
Jaf4:
Интересный подход, но у меня там ЧПУ с кириллицей.
Как я понял, мы выцепляем некую, уникальную последовательность из урла и ищем картинку для вывода с таким же именем.

Да, именно так. И также можно выдавать и фоновые картинки везде разные и блоки текстовые к каждой записи (инклудами файлов, например) и тп :)

С кириллицей не знаю как будет, если честно

Предлагаю воспользоваться моими услугами корректора. Проверю и уберу все ошибки, поправлю грамматику и склонения, сделаю текст лучше и читабельнее. Высокая скорость работы, цена 20 р за 1000 символов.
Jaf4
На сайте с 03.08.2009
Offline
804
#924
sok3535:
не могу понять, что именно требуется, как то расширьте тз, а то после вчерашнего с трудом соображается 😂

Есть сайт на WP.

На сайте, кроме главной, есть еще несколько десятков страниц.

Есть нужда выводить на каждой странице в верхней части сайдбара свою, уникальную картинку.

Т.е. есть в уме некая табличка:

-------------

1-я страница- картинка1.

2-я страница - картинка2.

...

21-я страница - картинка 21.

...

-------------

Как я думаю, это должно быть реализовано:

вставляем некий код PHP, который проверяет что это за страница и подтягивает на нее нужную картинку.

S3
На сайте с 18.04.2011
Offline
109
#925
Jaf4:
Есть сайт на WP.
На сайте, кроме главной, есть еще несколько десятков страниц.
Есть нужда выводить на каждой странице в верхней части сайдбара свою, уникальную картинку.
Т.е. есть в уме некая табличка:
-------------
1-я страница- картинка1.
2-я страница - картинка2.
...
21-я страница - картинка 21.
...
-------------
Как я думаю, это должно быть реализовано:
вставляем некий код PHP, который проверяет что это за страница и подтягивает на нее нужную картинку.

<?php
if ( is_page('65','101','110') )
{
// код
}
elseif ( is_page('66','102','111') )
{
// код
}
?>

так пойдет?

а не послед строчки ваши не увидел

Jaf4
На сайте с 03.08.2009
Offline
804
#926
sok3535:
<?php if (is_page(192)) { ?>
код или картинка
<?php } ?>


цифра id стр

код работает. Я почему написал, т.к. у меня получается при большом количестве страниц не совсем изящное решение. Но в целом проблему можно считать решенной, т.к. страниц пока не очень много.

---------- Добавлено 15.09.2013 в 13:31 ----------

sok3535:

так пойдет?

<?php
if ( is_page('122','104','457','131','82','499' ) )
{
<img
^^^^13 строка

Parse error: syntax error, unexpected '<' in sidebar.php on line 13

Может надо что-то типа echo '<img ??

J
На сайте с 21.08.2011
Offline
78
#927
Jaf4:
код работает. Я почему написал, т.к. у меня получается при большом количестве страниц не совсем изящное решение. Но в целом проблему можно считать решенной, т.к. страниц пока не очень много.

Нужно создать для страниц Custom Field, где указать привязанную картинку на каждой странице.

После этого в сайдбаре достаточно будет кода:

get_post_meta( get_the_ID(), 'your-custom-field-for-image', true);

Апдейт:

А, я смотрю в сайдбаре надо -- тогда просто get_post_meta нельзя, ибо должно быть внутри The Loop.

Как вариант, запихнуть в переменную и выводить где хочешь. Да много вариантов - всё зависит от структуры шаблона/сайта.

S3
На сайте с 18.04.2011
Offline
109
#928
Jaf4:
код работает. Я почему написал, т.к. у меня получается при большом количестве страниц не совсем изящное решение. Но в целом проблему можно считать решенной, т.к. страниц пока не очень много.

---------- Добавлено 15.09.2013 в 13:31 ----------


<?php

if ( is_page('122','104','457','131','82','499' ) )
{
<img
^^^^13 строка


Parse error: syntax error, unexpected '<' in sidebar.php on line 13
Может надо что-то типа echo '<img ??

можно создать папку под картинки и из нее тащить картинки по id страниц

<?php $page_id=get_the_ID();

if(is_page()) { $image='banner-'.$page_id.'.png'; };
if(!file_exists(TEMPLATEPATH.'/img/'.$image)) { $image='banner.png'; }
echo '<img src="'.get_bloginfo('template_url').'/img/'.$image.'" alt="" />'; ?>

т.е. теперь нужно сделать папку /img/ и в эту папку накидать картинок banner-1.png banner-2.png banner-3.png и т.д. но это только для картинок

Jaf4
На сайте с 03.08.2009
Offline
804
#929
Jovian:
Как вариант, запихнуть в переменную и выводить где хочешь. Да много вариантов - всё зависит от структуры шаблона/сайта.

Вообще ничего не понял. А можно по-подробней?

Еще засада, пока у меня картинки не готовы, работал бы код с перечислением нескольких страниц, с выводом общей картинки, но не получатся, выходит ошибка.

J
На сайте с 21.08.2011
Offline
78
#930

Jaf4, создавать custom fields вы умеете?

Если хардкодить не умеете, то воспользуйтесь хорошим плагином для этого -- WP Types.

После этого каждой странице задайте нужную картинку. Пока не готовы все картинки, задайте одинаковые для нужных вам постов (или страниц).

Вывод этой картинки (или любого другого поля вами созданного):

get_post_meta( get_the_ID(), 'your-custom-field', true);

Но этот вывод будет работать только внутри водпрессовского The Loop.

В сайдбаре, который наверняка находится вне The Loop, код не сработает.

Можно делать запрос к базе данных, а можно, что предпочтительнее, записать ссылку на картинку в переменную внутри The Loop на странице, а потом вывести в сайдбаре эту переменную -- убираем лишний запрос к базе.

п.с.: после создания custom field для картинки, можете привести сюда или мне в личку код вывода ваших страниц и сайдбара -- я вам помогу с написанием php.;)

---------- Добавлено 15.09.2013 в 15:18 ----------

А кто мне сможет ответить, почему когда я хукаю функцию к before_delete_post, она срабатывает И тогда, когда пост просто помещается в корзину (trash)?

На сайте WP написано, что "палить" должно ТОЛЬКО тогда, когда пост удаляется ИЗ корзины.

Какая-то чертовщина... Кто-нибудь сталкивался с подобным?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий