сайтостроительное
Проблема: вывод записей рубрики на странице
UPD: РЕШЕНО
Ларчик просто открывался: движок сайта присвоил странице такой же ярлык, как и у рубрики — stati. И пытался найти запись на странице, а не в рубрике. Поменял ярлык страницы на stati_new, всё заработало.
Нашёл себе новый геморрой на старую задницу.
Приспичило сделать вывод записей рубрики «Статьи» в виде плиток. Нашёл плагин, создал список, через шорткод вывел на страницу. И в меню вывел, вместо стандартной ссылки на рубрику. Кликаешь по меню — вылезает вот такая красота.
Всю ночь потел, подгонял миниатюры старых записей под единый размер, чтобы плитки ровно лежали.
Сейчас полез допиливать, решил кликнуть одну из статей. А вместо поста открывается… Всё та же страница с плитками. При этом ссылка на пост указывается правильно. Но куда ни кликни, а откроется именно эта страница.
Подумал, что плагин дурит. Здесь список выводит Post Grid, у него настроек побольше в бесплатной версии. Решил проверить, слепил аналогичный список в Content View, на странице поменял шорткод, обновил. Те же Фаберже, вид в профиль — куда ни ткни, откроется эта же страница.
Вернул пока старое меню с выводом рубрики. Там не так всё красиво, зато работает. Но интересно: с какого рожна такая хрень и как исправить?
Редактор Gutenberg: и чего я им не пользовался?
Я старый ретроград, признаю. За столько лет использования WordPress я привык к классическому редактору. Но его возможности вёрстки страницы весьма и весьма ограничены. А редактор блоков даёт кучу новых возможностей. В частности, при вставке изображений и галерей. Проще создать, проще скопировать и вставить блок в новый пост. И выглядит в браузере намного лучше.
Плагин Classic Widget
Днём неожиданно обнаружил, что у меня слетела пара виджетов в боковой панели сайта и вместо них стоят совершенно левые. Я с внешним видом не экспериментировал и виджеты не менял. Правда, ночью тренировался в специально созданной копии главной страницы, пробовал различные способы вывода списков статей по рейтингам. Но эта страница существует только в виде черновика и даже не опубликована. То есть, никаким боком влиять на виджеты не может.
Дальше ещё смешнее. Начал восстанавливать удалённые виджеты, а сайт откровенно дурит. Не сохраняет настройки, выводит совершенно не то, что я настроил. И тут меня осенило: я виджеты настраивал в меню «Внешний вид — Виджеты», которым управляет плагин Classic Widget. Дело в том, что WordPress несколько версий назад кардинально изменил этот раздел. И, надо сказать, что получилось не то, чтобы совсем плохо, но неудобно. Вдобавок виджеты в новом разделе очень долго загружаются. Умельцы сделал плагин, который возвращает в админку старый интерфейс раздела. Который тоже не лишён недостатков, но гораздо удобнее и, главное, работает быстрее.
Перешёл я в раздел настройки темы, там тоже есть настройка виджетов, которой плагин не управляет. Сразу всё нормально настроил, сохранил. Проверил — работает, все виджеты на своих местах. Плагин отключил, хотя и с сожалением. Но мне на фиг не надо, чтобы плагин за меня решал, какие виджеты куда ставить. Буду надеяться, что в следующем обновлении этот баг поправят. Или WordPress вернёт старый интерфейс.
Настройка сайта: промежуточный финиш
С выводом похожих записей разобрался, кардинально поменяв политику. А именно: нашёл виджет, который выводит список записей в боковую панель. Получается очередной закос под Экслера, ну да фиг с ним (я про закос, а не про Алекса). Тут важно другое: в настройках виджета можно задать размер выводимой миниатюры и, что самое главное, виджет сам подгоняет картинку под габариты. Выводится только на страницах записей, выглядит всё более чем пристойно. Так что этот вариант оставлю. Тем более, что он избавляет меня от головняка с редактированием миниатюр ранее опубликованных записей.
Есть, правда, одна загвоздка, с которой я пока не решил, как быть. В разделе «Рецензии» у меня миниатюры вертикальные, виджет их подгоняет под горизонталь, обрезая верх и низ. Видимо, придётся поменять миниатюры рецензий, сделать их в едином стиле. Работы там немного, но банально жаль терять фишку — на главной вертикальные афиши смотрятся шикарно.
В общем, основные проблемы решены, лично меня внешний вид и функционал устраивает. Можно успокоиться и заняться более важными делами — например, глаженьем Дашки.
Новости Don-Ald.ru: RSS и новые озвучки
После многодневный ковыряний в коде сайта было выяснено: ошибку вызывает плагин Ozh’ Better Feed. «Элементарно!» воскликнул бы старик Холмс. «Если ошибка с RRS, то первым делом надо смотреть, что формирует фид!» А ещё раньше, добавлю я, следовало посмотреть error.log непосредственно на хостинге. В общем, плагин отключен, фиды работают исправно, проверено. Вероятно, поэтому и в телеграм посты попадали через пень-колоду, надо будет посмотреть.
После того, как проблема была решена, решил подключить к сервису озвучки ещё одну рубрику — «Статьи«. Последние десять статей уже можно не только прочитать, но и послушать. Заходите, тестируйте, пишите в комментариях, как вам такая штука? Нужна ли она вообще и, если нужна, то что стоит поменять?
Из нерешённых пока проблем: по прежнему не работает функция Related Posts. По идее, Jetpack должен работать «из коробки» — и в настройках плагина он блок показывает. Но на сайте пусто. Или я чего-то не понимаю, или одно из двух. Если кто сталкивался с такой историей — пишите, как решали проблему.
Озвучка записей в блоге
Продолжаю развлекаться с сайтом. На «Фонтанке» подглядел интересную штуку — возможность прослушивания текста статьи. Озвучка автоматическая, функция предоставляется сайтом retell.cc. Зашёл на сайт, посмотрел что к чему. Есть бесплатный тариф, решил попробовать. Регистрация проходит в пол-пинка, с добавлением сайта пришлось попотеть: нигде не сказано, что в поле «Тэг RSS с текстом статьи» надо ставить именно тэг, причём, без служебных символов. То есть, в случае с моим сайтом на WordPress поле надо ввести content:encoded — никаких других символов! Иначе зарегистрировать сайт просто не получится.
После того, как сайт зарегистрирован, нужно интегрировать сервис. В случае с WordPress всё решается установкой плагина. Сервису потребуется некоторое время для сканирования ленты, после чего на странице записи появится интерфейс плеера.
Бесплатный тариф имеет свои ограничения: меньше возможностей настроек, меньше вариантов выбора голоса диктора. Но для обкатки вполне сойдёт. Из очевидных минусов: бесплатная версия не позволяет кастомизировать внешний вид плагина, из темы интерфейс выбивается. Сервис работает с RSS-лентой, тут есть засада — если в статье стоит тэг «Read more» и в ленте этот тэг отрабатывается (а иначе на хрен он нужен?), то робот прочитает текст ровно до тэга. В общем, покатаю какое-то время, потом решу, оставлять или удалять.
Заодно выяснилось, что у меня есть проблемы с RSS. Фид категории «Статьи» не читается вовсе, а в фид главной ленты почему-то не попадают свежие записи из блога. При этом в ленте самого блога всё нормально. За работу RSS отвечает плагин, проверил в настройках — всё нормальное. Буду разбираться.
Регистрация и комментирование
После долгих раздумий отключил возможность регистрации на сайте через социальные сети. Во-первых, куча геморроя с приложениями, особенно в Facebook. Во-вторых, через ВК регулярно лезут спам-боты. У меня давно уже заблокированы все ресурсы Mail.ru, видимо, придётся блокировать и ВКонтакте. Ну и: если человеку есть что сказать, его не остановит регистрация на сайте.
Для удобства пользователей (и для своего удобства) установил плагин wpDiscuz. Он даёт массу преимуществ перед стандартной формой комментирования. И визуально смотрится симпатичнее:
В общем и целом настроил всё, как хотел. Есть мелкие недоделки, наверняка вылезут ещё какие-то косяки. Но в целом я доволен результатом. Единственное, что у меня пока не получилось, это отключить вход в админку при авторизации пользователя. Как-то я это делал, но как именно — забыл. Можно было бы плюнуть и оставить как есть, но админка у WordPress выглядит довольно непрезентабельно и обычный пользователь, попав в эту келью, будет ошарашен. Да и нечего ему там делать, два совершенно лишних действия. Так что я буду признателен, если вы подскажете, каким образом сделать так, чтобы после авторизации пользователь попадал на главную страницу, а не в админку.
UPD: нашёл решение. В файл темы function.php добавляется простенький код, закрывающий доступ в админку всем, кроме администратора. После авторизации пользователь попадает на главную страницу. Главное, при обновлении темы не забыть этот код прописать.
Новый дизайн Don-Ald.ru
Недавняя эпопея с восстановлением сайта сподвигла на то, что давно не решался сделать — изменить внешний вид главной страницы и поменять дизайн.
За образец был взят сайт Алекса Экслера. Мне понравилось цветовое решение, поэтому я далеко ходить не стал и просто перекрасил свою старую тему для WordPress. Заодно убрал фон с нотными линейками, слишком замедлял загрузку сайта.
С главной страницей пришлось чуток повозиться — пришлось переделать миниатюры записей, чтобы были одинаковыми по размеру. Иначе на главной была чехарда разных по высоте картинок. Для ускорения процесса сделал в фотошопе два шаблона, горизонтальный (статьи, рассказы) и вертикальный (рецензии). А там дело техники: вставил картинку в шаблон, подогнал под размер и сохранил в jpeg. Как разбить страницу на строки и вывести списки постов я уже показывал в ролике «Главная как у Экслера«. Там же PHP код, если кому надо. А за вывод рассказов в виде миниатюр отвечает плагин Content Views. Очень удобный и предельно простой в использовании, рекомендую. А итоге вот такая красота:
Думаю ещё переделать картинку над меню. Подразумевается, что там мой Мурзилка, но на самом деле это похожий котофей, фотография из Интернета. Думаю вместо него Дашку посадить. Оно и актуальнее, и исторически точнее — Мурзилка к компьютеру не совался, а Дашка в монитор нос суёт постоянно.
WordPress, чтоб ему…
По милости разработчиков WordPress поимел огромный геморрой с сайтом, на устранение которого ушли сутки. После автоматического обновления CMS, от которого открутиться нельзя никак, WordPress решил, что ему не нравятся несколько плагинов и виджетов. В основном те, что работают с PHP и на которых собраны все информационные блоки — от новинок в рубриках до выбора ленты RSS в зависимости от активной рубрики. И, не мудрствуя лукаво, движок намертво эти плагины с виджетами отхерачил.
Не буду расписывать всю кухню, просто информирую: главную страницу пришлось собирать заново. К счастью, удалось вытащить непосредственно коды, иначе я тут завис бы не на одну неделю. Из подлянок: сейчас WordPress считает устаревшими абсолютно ВСЕ плагины, включая поиск по сайту. Ещё одна подлянка: раньше была возможность настроить отображение виджета на определённой странице или рубрике. У меня на главной висел виджет «Что нового?», который и сейчас висит, а в рубриках появлялся другой виджет, выводивший новые записи именно этой рубрики. Сейчас эта возможность отключена, хер его знает почему.
В общем и целом: удалось восстановить почти всё. Кое-что переделал, немного изменилось оформление главной страницы. Продолжаем ждать милостей от природы подлостей от WordPress.
Ура, заработало!
Я малость поторопился сообщить, что проблема с кросспостом в Телеграм решена — на самом деле малость накосячил в настройках и долго не мог понять, в чем загвоздка. Но, как сказано в одном из законов Мерфи% если ничего не помогает — прочти, наконец, инструкцию! Что я и сделал. Выловил косяк, проверил — все фурычит. Можно идти спать :) А вам утренняя песенка в качестве побудочной.