Андрей Хохлов: Вполне норм, но лично я не люблю всякий хлам в корне, у меня там только index.php, локально - чуть больше, но на продакшн это не идет. WordPress у меня в папке core (родная папка, только переименованная), wp-контент в папке content. А темы, плагины, переводы - все это уже внутри content, не вижу особого смысла выводить это отдельно. При таком подходе сама папка core - чистая установка wp у меня в репозитории стоит как git submodule, то же касается тем и плагинов, в первую очередь своих кастомных. Ну и тех, которые можно поставить субмодулем. Вообще эту концепцию взял у Mark Jaquith и Tom McFarlin.
Redmine - крутейшая штука, но вы правильно заметили - если сможете ее поставить. Я неплохо админю свои сервера, но с Ruby раньше никогда не сталкивался. Так вот я думал поседею, пока заставлю это все работать. Эти ваши юникорны и пессенджеры - это ад прям какой-то) В конечном итоге плюнул, развернул на отдельной коробочке digital ocean готовый образ с Redmine и за 5$ в месяц получил анлим CRM для своей небольшой компашки.
like-a-boss: А не пробовали через WP_Query, модифицируя через хуки? Условия запроса вроде бы достаточно простые, не вижу необходимости в кастомном запросе. Не гарантирую, что это сразу решит проблему, но в теории - вполне может. Попробовать не мешает.
Тимофей Бережнов: что не работает? какие ошибки и есть ли они? как дебажите?
и мое решение, и по ссылке на WPSE - оба надо допиливать под себя, они и не должны работать out of the box. Им нужно скормить правильные объекты, в пример использованы одни, но у вас могут быть другие. Как и где их взять - это уж сами смотрите. Если не знаете - уточняйте вопрос. Из текущего вопроса не совсем понятно, что за "пункт меню" вам нужен - какой его тип, нужно его title или slug и т.д.
Андрей: вот это уже ближе. Любую дату в тексте нужно провести через php-функцию strtotime( '23.04.2015' ), чтобы на выходе получить Unix Timestamp. Выше я об этом уже писал. А уже timestamp скармливаем функции human_time_diff() в качестве первого аргумента. Ну а как из всего текста поста выбрать именно этот фрагмент с датой - это уже другой вопрос. Если я правильно понимаю, вам надо, чтобы в тексте стояла не какая-то дата (события нарпимер), а время, прошедшее с того момента. В таком случае я бы посоветовал создать шорткод, в который бы вы передавали аргументом дату (в произвольном формате), а уже функция, обрабатывающая шорткод, пропускала бы эту дату через strtotime, потом human_time_diff и печатала текстом сколько времени прошло с той даты.
не верно. в бд как раз урл прописаны не относительные, а абсолютные, от wp_options - сам адрес сайта, без которого не поднимется ничего, до wp_posts, где ссылки в постах стоят.
nickostyle: на обеих упомянутых ресурсах есть русские версии. Они, конечно, не так полноценны, но для начала хватит. Также есть русскоязычные ресурсы типа wpmag.ru - там тоже много полезной информации.
nickostyle: да, список категорий генерится функцией wp_list_categories (скорее всего в вашем случае). Выпиливать ничего не надо - найдите эту функцию в коде, потом идите на WordPress Codex и читайте про эту функцию. Все они принимают кучу аргументов, позволяющих настроить вывод под себя - и классы, и html-разметку (ul или что-то другое) и так далее.
А еще, если вы их скачаете free на каком-нибудь сайте, отличном от маркетплейса, где они продаются, то рискуете получить бекдор и прочие бонусы на своем сайте. Никогда не качайте зануленные платные плагины и темы.
Aqualtis: точно, есть такая функция. Я и забыл о ней, хорошо что напомнили) Но все же есть с ней один нюанс и надо быть осторожным - если использовать кастомные запросы (WP_Query, get_posts, query_posts) то результат этой функции может меняться и не соответствовать ожиданиям (но это уже отдельный разговор). А предложенный мною вариант определяет рубрику не из данных, полученных из БД, а из http запроса.