Intereting Posts
Частота запланированных событий RSS-канал для пользовательского типа сообщений с настраиваемыми полями данных, не проверяющими Блог post – single.php url Проблема сеанса в PHP – попытка создания простой CAPTCHA Как изменить формулировку в wp-admin back-end? Получение данных API с использованием Как добавить кнопки в пользовательский столбец в таблице таксономии? Почему wp_get_attachment_image не включает «полный» размер в srcset? Показывать только сообщения от текущего пользователя, который вошел в систему? Регистрация типа сообщения не добавляется в меню администратора Как CRUD из базы данных wordpress в WordPress тему? Каков наилучший способ хранения пользовательских переменных Как изменить размеры заголовка в WordPress? проблема входа в систему WordPress может изменять идентификаторы, созданные сайтом-хостером Размеры носителей не создаются – настройка сервера?

Удвоенные названия при использовании All in One SEO с пользовательским шаблоном

Я создал отдельный шаблон, attachment.php, для отображения вложений изображений. Это относительно просто; в основном урезанная версия single.php. Все работает отлично, за исключением того, что когда у меня включен плагин «Все в одном» (и настроен на переписывание названий), заголовки на этих страницах вложений удваиваются.

Например, заголовок этого приложения должен быть «11 часов автономной работы MacBook Air», но тег заголовка отображается как «11 часов автономной работы MacBook Air 11 часов автономной работы MacBook Air»,

Это происходит только на страницах attachment.php, а не на остальных обычных страницах и страницах сайта.

Любая идея, что может вызвать это?

Solutions Collecting From Web of "Удвоенные названия при использовании All in One SEO с пользовательским шаблоном"

Проблема заключается в том, как настраивается All in One SEO. Он предполагает, что вы всегда прикрепляете свои медиафайлы к сообщению или странице. Простым способом является прикрепление их к сообщению или странице, и это сделает заголовок вложения «PostName AttachmentName – Blogname».

Другой способ также прост, но вы должны внести изменения в плагин. Вы открываете файл aioseop.class.php и находите этот фрагмент кода:

else if (is_attachment()) { $title = get_the_title($post->post_parent).' '.$post->post_title.' – '.get_option('blogname'); $header = $this->replace_title($header,$title); } 

Проблема с этой настройкой заключается в том, что она захватывает родителя независимо от того, является ли он дочерним. Если у него нет родителя, его родительский заголовок – это его собственный заголовок, следовательно, двойной заголовок. Чтобы исправить это, мы можем добавить оператор if, чтобы проверить, имеет ли он родителя, чтобы избежать двойного заголовка. Таким образом, код будет выглядеть так:

 else if (is_attachment()) { if(get_the_title($post->post_parent) != $post->post_title) { $title = get_the_title($post->post_parent).' '.$post->post_title.' – '.get_option('blogname'); } else { $title = $post->post_title.' – '.get_option('blogname'); } $header = $this->replace_title($header,$title); } 

Затем вы просто загружаете это в папку плагина «Все в одном» и ваша проблема должна быть исправлена.

Надеюсь, это поможет.

{R: S}