Форум программистов, компьютерный форум, киберфорум
WordPress
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 22.07.2022
Сообщений: 27
1

Общая переменная для шаблонов wordpress

21.09.2022, 16:27. Показов 849. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Я делаю сайт газеты на самописной теме. Газета выпускается по номерам.
Front-page - у меня текущий номер, остальные предыдущие номера - это страницы кастомной таксономии Выпуск.

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

На примере: текущий выпуск 10. Выпуск 10 - это шаблон front-page.php. Пользователь с помощью навигации перешёл на выпуск 6, на старый выпуск. Тогда шаблоном для этой страницы будет page-release.php. И переходя в авторов, он должен видеть авторов 6-го выпуска. Как получить авторов я понимаю, но не понимаю, как записать в переменную значение текущего (выбранного) выпуска и чтобы это значение было видно в авторах и на других страницах.

Я понимаю, что возможно решение в корне неверное, но я смотрю на структуру worpdress и не могу придумать иного.

Добавлено через 14 минут
* опечаталась шаблон для страниц таксономии - taxonomy-release.php
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2022, 16:27
Ответы с готовыми решениями:

Wordpress подключение шаблонов
Здравствуйте, мне нужно подключить некоторые категории (рубрики) в отдельные шаблоны. Например у...

Общая переменная для фреймов
Стандартная ситуация - надо, чтобы в parente (который frameset) была некая переменная, доступная (и...

Общая переменная для двух форм?
Мне требуется обработчиком события находящимся на Форме2 (кнопка) записать значение в переменную...

Общая переменная для двух потоков
Есть программа, в которой один поток генерирует переменную, а два других обрабатывают её. Как...

21
444 / 574 / 120
Регистрация: 26.02.2019
Сообщений: 3,110
Записей в блоге: 3
23.09.2022, 11:25 2
Цитата Сообщение от webbuilder Посмотреть сообщение
В каждом номере есть внутренние страницы, которые собираются из материалов номера.
Материалы - это страницы или всё же записи?
Если страницы - это не правильно. А если записи, то делать "внутренние страницы" страницами тоже не правильно.
В общем у тебя изначальная структура данных не верна.

Эти твои "внутренние страницы" нужно делать таксономией (аля метки). А материалы - записями.
А в шаблоне метки уже сделать выборку авторов. Но проще и лучше - анонс материала с мета данными - автор, дата и тп. Это в общем-то уже есть из коробки в любой нормальной теме (и нечего заниматься самописьками. Лучше открыть для себя дочерние темы и сделать дочку).

Можно не метки, а рубрики, но ИМХО метка в данном случае будет лучше тк вложенность не нужна, а работать с ними в админке чуть проще, чем с рубриками.
1
0 / 0 / 0
Регистрация: 22.07.2022
Сообщений: 27
23.09.2022, 16:37  [ТС] 3
Спасибо за ответ!

Цитата Сообщение от Lazor Посмотреть сообщение
Материалы - это страницы или всё же записи?
Материалы - это записи произвольного типа.
Сам выпуск - это таксономия. Выпуск создаётся из статей и аудио- видеоматериалов (у них сложная структура). Каждая отдельная сущность - это запись произвольного типа записей. В шаблоне главной страницы и таксономии Выпуск (реализована отдельная функция, которая просто включается в шаблон) подцепляются все эти записи по id таксономии Выпуск, т.е. по выбранному номеру газеты, тем самым и собирается номер.

Цитата Сообщение от Lazor Посмотреть сообщение
Эти твои "внутренние страницы" нужно делать таксономией (аля метки)
Цитата Сообщение от Lazor Посмотреть сообщение
А в шаблоне метки уже сделать выборку авторов
Не совсем понимаю, как в шаблоне метки понимать к какому выпуску относятся авторы.

Сейчас я сделала get-параметр для меню Внутренних страниц. Т.е. переходя на страницу, можно получить id номера газеты из url. Не уверена, что это красивое решение.

Цитата Сообщение от Lazor Посмотреть сообщение
Лучше открыть для себя дочерние темы и сделать дочку
Смотрела множество тем и ни одна не подходит под логику моего сайта. Если только мультисайт делать. В любом случае стандартными инструментами не добиться результата, хотя может я и ошибаюсь.
0
444 / 574 / 120
Регистрация: 26.02.2019
Сообщений: 3,110
Записей в блоге: 3
23.09.2022, 18:04 4
Цитата Сообщение от webbuilder Посмотреть сообщение
Смотрела множество тем и ни одна не подходит под логику моего сайта
Ни одна тема никак не зависит от "логики" сайта. От слова "абсолютно". (я про нормальные темы, а не наколенные поделки)

Тема - это макет представления материалов и дизайн. Всё. А "логика" - это программная составляющая и реализуется ядром и плагинами.

Цитата Сообщение от webbuilder Посмотреть сообщение
Не совсем понимаю, как в шаблоне метки понимать к какому выпуску относятся авторы.
Для понимания можно создать обычные записи с метками и посмотреть в любой нормальной теме.


Вот например я по быстрячку развернул в семидневной песочнице (понадобилось минут 10 на всё про всё.)
На странице метки "Выпуск №5" видим посты с этой меткой. В данном случае у постов выводятся мета-данные: автор (с аватарой), дата публикации и дата последнего обновления, и рубрика.
Безусловно набор этих данных всего можно сделать какой нужно. В данной теме это настраивает прямо в админке.
скриншот настроек темы
Общая переменная для шаблонов wordpress

Внешний вид, естественно, тоже (для того дочки и нужны).
Так же имеется страница автора (ссылка под его ником) где выводятся все его материалы.
И всё это стандартно без танцев с бубнами.
0
0 / 0 / 0
Регистрация: 22.07.2022
Сообщений: 27
23.09.2022, 18:29  [ТС] 5
Спасибо за пример.
В принципе у меня похожая реализация, только структура самого выпуска сложнее, помимо статей есть ещё колонка редактора, анонсы и др, причём у каждого элемента своё закрепленное место. Поэтому пришлось делать самопис, чтобы не было ничего лишнего.
В примере, как я поняла можно посмотреть все публикации автора. Но я так и не поняла, как сделать "страницу" авторов конкретного номера.
0
444 / 574 / 120
Регистрация: 26.02.2019
Сообщений: 3,110
Записей в блоге: 3
23.09.2022, 18:39 6
Цитата Сообщение от webbuilder Посмотреть сообщение
Но я так и не поняла, как сделать "страницу" авторов конкретного номера.
Что значит "страницу" авторов конкретного номера?

Цитата Сообщение от webbuilder Посмотреть сообщение
помимо статей есть ещё колонка редактора, анонсы
Чем технически "колонка редактора" и анонсы отличаются от рубрики например "происшествия"? Полагаю что ничем (кроме разве что дизайна). Равно как и редактор от др. авторов.

Цитата Сообщение от webbuilder Посмотреть сообщение
причём у каждого элемента своё закрепленное место.
И что с того? Это всего лишь верстка. Да, возможно одна страница потребует побольше усилий, но это нормально. Это не повод делать самописы. Почти никогда для этого нет поводов (а с последними версиями ВП, с курсом на FSE и подавно).
0
0 / 0 / 0
Регистрация: 22.07.2022
Сообщений: 27
23.09.2022, 19:19  [ТС] 7
Цитата Сообщение от Lazor Посмотреть сообщение
Что значит "страницу" авторов конкретного номера?
Это "страница" (это абстрактное название), на которой представлен список авторов именно текущего номера. Как в представленном Вами выпуске 5 было бы выведено: Автор Muriel, Автор Elliot и тд, только те, кто относится к 5 номеру.

Цитата Сообщение от Lazor Посмотреть сообщение
Чем технически "колонка редактора" и анонсы отличаются от рубрики например "происшествия"?
Может особо и не отличается, но имеет набор полей, которые не хотелось бы показывать в редактировании "происшествия" в админке. Также есть определённая специфика заказчика касающаяся авторов, поэтому пришлось грубо говоря статьи разделить на несколько произвольных типов исключительно для удобства конечного пользователя.

Цитата Сообщение от Lazor Посмотреть сообщение
Это всего лишь верстка. Да, возможно одна страница потребует побольше усилий, но это нормально.
Тут, наверное, дело вкуса. Мне не нравится ковыряться в чужих структурах, править их под себя. Сайт верстался мной по дизайну, но не было решено ничего по движку.
Поэтому мне легче было, как говорят "натянуть" его на WP, чем брать тему и её заново настраивать.
Я не гуру Wordpress, поэтому, возможно, такие глупые вопросы. Но я в какой-то мере знаю PHP, однако я боюсь, что изобрету велосипед, т.к. очень многое уже реализовано, либо сделаю сайт уязвимым.
0
444 / 574 / 120
Регистрация: 26.02.2019
Сообщений: 3,110
Записей в блоге: 3
23.09.2022, 19:35 8
Цитата Сообщение от webbuilder Посмотреть сообщение
Это "страница" (это абстрактное название), на которой представлен список авторов именно текущего номера. Как в представленном Вами выпуске 5 было бы выведено: Автор Muriel, Автор Elliot и тд, только те, кто относится к 5 номеру.
Вот это и есть страница "метки". То что я показал выше.

Цитата Сообщение от webbuilder Посмотреть сообщение
Мне не нравится ковыряться в чужих структурах, править их под себя.
Подобные сентенции говорят о полном не знании устройства ВП тем, политики саппорта и вообще плохо говорят о разработчике как таковом.
Ибо всё описано и стандартизировано. И в целом нет никаких проблем разобраться. Но зачастую даже это не нужно, а если что можно обратиться к производителю.

Цитата Сообщение от webbuilder Посмотреть сообщение
Может особо и не отличается, но имеет набор полей, которые не хотелось бы показывать в редактировании "происшествия" в админке. Также есть определённая специфика заказчика касающаяся авторов, поэтому пришлось грубо говоря статьи разделить на несколько произвольных типов исключительно для удобства конечного пользователя.
Возможно тут сделано правильно (хотя можно было так и не делать, а регулировать доступ к полям например на уровне пользователя). Но нет никаких проблем на одной странице вывести из нескольких типов. Наверняка это всего один-два шаблона поправить.
А то и вообще не трогать шаблоны, если это одна страница (например главная). Всё можно блоками вывести. (и вот где может быть поле для любителей покодить - написать свои кастомные блоки/паттерны)

Цитата Сообщение от webbuilder Посмотреть сообщение
Но я в какой-то мере знаю PHP, однако я боюсь, что изобрету велосипед, т.к. очень многое уже реализовано, либо сделаю сайт уязвимым.
Вот это здравые опасения. Для ВП-сайта нет опасней админа-"разработчика", хорошо знающего php, но не знающего ВП. Порой это опасней совершено не знающего.
И это одна из причин почему не нужно писать самописки, а использовать готовые темы (+дочернюю) и плагины.
0
0 / 0 / 0
Регистрация: 22.07.2022
Сообщений: 27
23.09.2022, 19:50  [ТС] 9
Ваше решение с метками меня очень заинтересовало, но я правда не могу понять, как реализовать его.
То есть я должна создать метку Авторы и добавлять её к записям.
А в шаблоне метки Авторы заменить вывод записей на вывод авторов записей.
Но на странице метки Авторы будут записи всех выпусков или я что-то не так поняла?
0
444 / 574 / 120
Регистрация: 26.02.2019
Сообщений: 3,110
Записей в блоге: 3
23.09.2022, 21:37 10
Цитата Сообщение от webbuilder Посмотреть сообщение
Ваше решение с метками меня очень заинтересовало, но я правда не могу понять, как реализовать его.
То есть я должна создать метку Авторы и добавлять её к записям.
Можно использовать родные метки, но в данном случае я бы создал кастомную таксономию (например "выпуски"). Тем более что всё рано надо писать код чтобы привязать одну метку к разным типам записей.

Цитата Сообщение от webbuilder Посмотреть сообщение
А в шаблоне метки Авторы заменить вывод записей на вывод авторов записей.
Никакой метки "авторы" не нужно! Авторы (точнее пользователи. "Автор" - в данном случае даже не роль, а просто пользователь, опубликовавший запись) - это родная сущность ВП и для неё уже есть шаблон. (вот как можно писать свои темы не зная самых базовых вещей? брось это, брось и возьми тему из оф каталога!)

Цитата Сообщение от webbuilder Посмотреть сообщение
Но на странице метки Авторы будут записи всех выпусков или я что-то не так поняла?
Да. По умолчанию (точнее во многих темах) там выводятся все посты, которые написал автор.
(Это доп. бонус к твоему первоначальному плану, который решается метками)
0
0 / 0 / 0
Регистрация: 22.07.2022
Сообщений: 27
23.09.2022, 21:51  [ТС] 11
Я знаю, что авторы - это родная сущность WP, я просто не поняла причем здесь метки тогда.
Выпуск у меня и так - это кастомная таксономия. А с метками я всё равно не поняла.
Ну, ладно, спасибо, что уделили время.
0
444 / 574 / 120
Регистрация: 26.02.2019
Сообщений: 3,110
Записей в блоге: 3
23.09.2022, 21:59 12
Цитата Сообщение от webbuilder Посмотреть сообщение
я просто не поняла причем здесь метки тогда.
Блииин.. Тебе учить ВП нужно. Это основы основ. Какие самописные темы.. бедные заказчики.. И какой хороший заказ...
Ок, пробую ещё раз.
Это страница метки (одной из..). Шаблон tag.php. На ней всё то что ты просила - все авторы "выпуска". Но даже больше - анонсы их материалов и др. их данные.
Это страница автора (одного из..). Шаблон author.php. На ней все посты автора.
Поизучай пример.
0
0 / 0 / 0
Регистрация: 22.07.2022
Сообщений: 27
23.09.2022, 22:12  [ТС] 13
Но задача не в этом. Страница выпуска у меня реализована. А страница автора с публикациями не нужна.
Нужна страница авторов, где только карточки авторов, выбранного пользователем (читателем) выпуска. Т. е. в пятом выпуске три автора писали статьи: Иванов, Петров и Сидоров. А в шестом были ещё Денисов, Фёдоров. Читатель пятого выпуска, перейдя на страницу авторов, увидит только Иванова, Петрова и Сидорова. А в шестом только Денисова и Фёдорова.
Страница авторов - общая страница для авторов. Т. е. хранит в себе список авторов.

Заказчики не бедные, они сами не знают, что хотят(
0
444 / 574 / 120
Регистрация: 26.02.2019
Сообщений: 3,110
Записей в блоге: 3
23.09.2022, 22:25 14
Цитата Сообщение от webbuilder Посмотреть сообщение
Но задача не в этом. Страница выпуска у меня реализована.
Я рассказывал про страницу авторов, а не страницу выпцуска.
Это НЕ страница выпуска. Это страница авторов выпуска. (переименовал метку)

Не нужны картинки и пр. контент? Ну не проблема их не выводить. Только что тогда останется на такой странице? 3-4 фамилии. Серьёзно?

Цитата Сообщение от webbuilder Посмотреть сообщение
А страница автора с публикациями не нужна.
Если этого не было в ТЗ это не значит что это нужно ликвидировать.
Цитата Сообщение от webbuilder Посмотреть сообщение
Страница авторов - общая страница для авторов. Т. е. хранит в себе список авторов.
Страницы ВСЕХ авторов (выводящей список ВСЕХ пользователей, опубликовавших контент) как правило не существует. Но не проблема её создать. Причем это можно сделать разными способами.

Цитата Сообщение от webbuilder Посмотреть сообщение
Заказчики не бедные, они сами не знают, что хотят(
Бедные что специалиста не нашли..
0
0 / 0 / 0
Регистрация: 22.07.2022
Сообщений: 27
23.09.2022, 22:42  [ТС] 15
Тогда теряется страница выпуска, где выводятся записи.
0
444 / 574 / 120
Регистрация: 26.02.2019
Сообщений: 3,110
Записей в блоге: 3
23.09.2022, 22:44 16
Цитата Сообщение от webbuilder Посмотреть сообщение
Тогда теряется страница выпуска, где выводятся записи.
С чего бы? Ты же её сделала. Я не знаю как, но ты же писала:
Цитата Сообщение от webbuilder Посмотреть сообщение
Страница выпуска у меня реализована
0
0 / 0 / 0
Регистрация: 22.07.2022
Сообщений: 27
23.09.2022, 22:50  [ТС] 17
Она сейчас страница кастомной таксономии Выпуск. Одинаково с метками.

НЕ страница выпуска. Это страница авторов выпуска. (переименовал метку)
Тогда непонятно, что страницей выпуска будет.
0
444 / 574 / 120
Регистрация: 26.02.2019
Сообщений: 3,110
Записей в блоге: 3
23.09.2022, 23:52 18
Цитата Сообщение от webbuilder Посмотреть сообщение
Она сейчас страница кастомной таксономии Выпуск. Одинаково с метками.
Тоже линейная таксономия? Я бы сделал иерахической.
А для авторов выпуска сделай ЕЩЁ одну таксономию. Какие проблемы?
Эти таксономии могут быть и одинаковы, но ИМХО лучше разные.
0
0 / 0 / 0
Регистрация: 22.07.2022
Сообщений: 27
24.09.2022, 09:51  [ТС] 19
Тоже линейная таксономия? Я бы сделал иерахической.
У меня иерархичная.

Цитата Сообщение от Lazor Посмотреть сообщение
А для авторов выпуска сделай ЕЩЁ одну таксономию. Какие проблемы?
Т.е. пользователю помимо выпуска нужно будет ещё выбрать пункт "Авторы выпуска 1"/"Авторы выпуска 2"..?
Или как связать таксономию выпуска и авторов выпуска?

Добавлено через 8 минут
Т.е. пользователю помимо выпуска нужно будет ещё выбрать пункт "Авторы выпуска 1"/"Авторы выпуска 2"..?
Я имела ввиду модератора (редактора) газеты. Т.е. когда он создаёт запись, например, статью. Он отмечает Выпуск галочкой. Получается ему дважды нужно будет выбрать выпуск. В таксономии Выпуск и Авторы выпуска?
0
444 / 574 / 120
Регистрация: 26.02.2019
Сообщений: 3,110
Записей в блоге: 3
24.09.2022, 10:08 20
Цитата Сообщение от webbuilder Посмотреть сообщение
У меня иерархичная.
Значит это не "одинаково с метками", а "одинаково с рубриками".
Цитата Сообщение от webbuilder Посмотреть сообщение
Он отмечает Выпуск галочкой. Получается ему дважды нужно будет выбрать выпуск. В таксономии Выпуск и Авторы выпуска?
Где "отмечает галочкой"? Он выбирает рубрику (иерархическую кастомную таксономию "выпуск"). Или создаёт новую, если её ещё нет.
Одновременно он указывает метку (линейную кастомную таксономию "авторы выпуска").

Нет, ну реально, такое ощущения что ты с ВП вообще видишь в первый раз.
0
24.09.2022, 10:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.09.2022, 10:08
Помогаю со студенческими работами здесь

Общая переменная для всех производных классов
В основном абстрактном классе Class0, я создаю переменную: protected int variable = 0; В...

Общая переменная для всех объектов класса
Как реализовать подобие static переменной в классе, не используя глобальных, если проект разделён...

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

Общая переменная для двух экземпляров класса
Здравствуйте. есть класс. создаю несколько экземпляров класса. как в описании класса создать для...

Общая переменная контекста для Class Based View
Привет ребята! Есть несколько Class Based View: PostListView, PostDetailView, ... При отрисовке...

Общая динамическая переменная для всех компонентов программы
Всем Привет! Есть небольшая проблема, есть XML файл в котором содержатся настройки подключения к...

PHP общая переменная для всех или потоки?
Я понимаю, что такого скорее всего нет, но может я чего-то не знаю. Мне нужно как-то создать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru