#wordpress #wordpress-theming #meta
Вопрос:
в настоящее время моя тема на WordPress-Neve , и мои сообщения по всему блогу показывают следующую мета-информацию : https://i.stack.imgur.com/ynu71.jpg
где : 1 — название публикации 2 — автор публикации 3 — дата публикации 4 — категория публикации
я хочу заменить эти мета-посты примерно такими: https://i.stack.imgur.com/Xywa9.jpg
для этой цели я создал дочернюю тему, а затем установил плагин сниппета, чтобы легко добавлять php-код и деактивировать его, как только он не работает . к сожалению, я не смог найти код, который может внести необходимые изменения в эту мету поста : https://i.stack.imgur.com/uwCrS.jpg
может ли кто-нибудь предоставить полный php-код для изменения всех этих изменений за один раз после вставки в фрагмент кода ? или если есть другой способ, которым я могу это сделать ?
Ответ №1:
Вам придется создать дочернюю тему (уже созданную), в которой вы можете переопределить текущий шаблон записи в блоге вместо использования плагина фрагмента. Для этого скопируйте файл шаблона сообщения в блоге из своей темы и добавьте его в свою дочернюю тему. WordPress теперь будет читать ваш шаблон дочерней темы вместо шаблона вашей темы, и вы можете легко изменить DOM оттуда и сформировать макет/текст так, как вы хотите. (Вы можете использовать редактор тем, встроенный в WordPress, чтобы изменить новый файл дочерней темы. Плагин не требуется.)
Это правильный способ изменить страницу публикации без плагинов, и вы можете легко выбрать такие вещи, как дата публикации, автор и т. Д. через встроенную функцию WordPress. Пример того, как получить имя автора сообщения WordPress на PHP.
Что касается даты «последнего выпуска», я одолжу вам фрагмент, который я написал для клиента в качестве WordPress. Это вернет дату, в которую сообщение было изменено, если она отличается от даты публикации (изменения распространены сразу после публикации, поэтому немного бессмысленно показывать «дату последнего редактирования» как совпадающую с датой публикации).
function current_post_last_edited_date_formatted() {
if(get_the_modified_date() !== get_the_date()) {
return '<p class="last-edited"> Last edited <span class="data">'.current_post_last_edited_date().'</span></p>';
} else {
return '';
};
}
Функция, которую вы видите вызываемой в условии, является основными функциями WordPress. =)
Комментарии:
1. Спасибо за вашу помощь , к сожалению, я попробовал это с помощью фрагмента, но не смог работать