Вопрос к экспертам WordPress и PHP.

  • Автор темы 19ar19
  • 46
  • Обновлено
  • 13, May 2024
  • #1
В одном из моих блогов есть старая тема Weaver 2. Я хочу сохранить эту тему, так как практически невозможно найти готовую тему, которая позволяла бы столько настроек, как это делает Weaver 2. Тем не менее, я хочу улучшить там некоторые вещи, поэтому вот вопрос:

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

Код для этого в Weaver:

[weaver_show_posts Cats='popular' show_featured_image='1'ide_top_info="1"ide_bottom_info="1" show='excerpt' excerpt_length='20' orderby="date" sort="DSC" Number='6']

В настоящее время я использую плагин WidgetLogic для отображения этого виджета на боковой панели только на домашней странице.

Я хочу продолжать отображать сообщения «популярных» категорий (как в приведенном выше коде) на главной странице, но также отображать боковую панель с соответствующими сообщениями (т. е. для той же категории) на странице сообщений.

В идеале для виджета страницы публикации мне бы хотелось что-то вроде этого: [weaver_show_posts кошки=@post_category show_featured_image='1'ide_top_info="1" hide_bottom_info="1" show='excerpt' excerpt_length='20' orderby="date" sort="DSC" Number='6'] где я могу указать @post_category значение переменной для каждого сообщения, когда я создаю новое сообщение. Многие сообщения в блоге относятся к нескольким категориям, поэтому мне нужно указать в этой переменной «основную» категорию для этого сообщения.
Первый вопрос: Это возможно?
Второй вопрос (если ответ на первый вопрос «да»): Сколько человеко-часов понадобится опытному разработчику, чтобы закодировать что-то подобное (т. е. реализовать поддержку переменной @post_category)? Любые мысли/рекомендации приветствуются.

19ar19


Рег
11 May, 2015

Тем
1

Постов
3

Баллов
13
  • 19, May 2024
  • #2
Потому что у каждого сообщения может быть несколько категорий, и я хочу, чтобы на боковой панели отображались [релевантные] сообщения только для одной из этих категорий.

И я хочу иметь возможность указать, какую категорию использовать для боковой панели (для конкретного сообщения), когда я публикую это сообщение.

Вот почему мне нужно указать это поле «основной категории» (или идентификатор категории) в пользовательском интерфейсе WordPress «Добавить новое сообщение» или «Редактировать сообщение»… Я что-то здесь упустил?

По сути, это то, что я хочу: если пост1 имеет категории «ABC», «DEF» и «GHI» и я считаю основной (т. е. наиболее актуальной для этого поста) категорией «ABC», то я указываю ее (каким-то образом) при публикации.



сообщение, поэтому при отображении сообщения на боковой панели должны отображаться сообщения категории «ABC» (исключая сообщение1). Если post2 имеет значение main_category как «XYZ», то при отображении сообщения на боковой панели должны отображаться сообщения для категории «XYZ» (исключая post2).
 

magis1


Рег
03 Nov, 2013

Тем
0

Постов
3

Баллов
3
  • 04, Jun 2024
  • #3
Ага, да, тогда лучше всего использовать пользовательские настройки, и это должно работать нормально - просто помните, что это должно быть выбрано для всех сообщений (сообщения, которые не получили этот набор пользовательских значений, не будут отображаться вообще).
 

Pay-hit.com


Рег
12 Nov, 2012

Тем
0

Постов
2

Баллов
2
  • 08, Jun 2024
  • #4
Просто небольшой вопрос к вам: я предполагаю, что способ указать основную категорию для сообщения — это использовать подход настраиваемых полей (т. https://codex.wordpress.org/Custom_Fields

) и создать новое настраиваемое поле post_category? Таким образом, я могу просто указать значение для этого настраиваемого поля при создании нового сообщения, и измененная функция шорткода (в shortcodes.php) должна иметь доступ к этому значению, используя get_post_meta($post_id, 'listening_to', 'true'); Верно ли мое понимание? Если это так, то это действительно 1-2 часа работы максимум... Я спрашиваю об этом, потому что фрилансеры, которых я пытался нанять, утверждают, что это большая работа и она займет один или два дня.

Я предполагаю, что они включили в эту оценку немало времени, чтобы научиться это делать.
 

abusyliman


Рег
01 Jan, 2011

Тем
0

Постов
1

Баллов
1
  • 10, Jun 2024
  • #6
Примечание.

Этот ответ основан на обычном кодировании WP, могут быть проблемы с темой, которые усложняют ее (или усложняют, но это редко).

Обычно это не должно быть слишком сложно сделать — скорее всего, можно было бы взять уже существующую функцию шорткода и либо добавить к ней, либо создать второй, почти точно такой же код, который имел бы категорию как дополнительная опция.

Это не должно быть слишком сложно сделать, однако, в зависимости от текущего кода темы, это может потребовать некоторых изменений в основных файлах, которые могут сломаться при обновлении, поэтому рекомендуется создать дочернюю тему для работы, если это проблема (я не знаю, обновляется ли эта тема вообще). Я бы сказал час, максимум два.

Включая некоторые испытания и тому подобное.



Конечно, установка и запуск этого процесса, в зависимости от того, сколько модификаций у вас уже есть, также может занять некоторое время (я рекомендую разработчику получить от вас образец данных SQL для работы с тем же контентом и настроить WP используя тему и все плагины, которые есть на вашем сайте в настоящее время — настройка также может занять немного времени, так что… да — несколько часов включены).
 

qgor


Рег
22 Jul, 2013

Тем
1

Постов
3

Баллов
13
Тем
49554
Комментарии
57426
Опыт
552966

Интересно