Intereting Posts
категория wordpress WP_Query в / не в wp_editor не передает короткий код Устанавливаются ли параметры постоянной ссылки на страницы, а также на сообщения? Тема с неправильным обновлением Gravity Forms Entry List, отображающий условные заполнители Как добавить фильтр в миниатюру сообщения перед сохранением в базе данных? Скрыть содержимое из предварительного просмотра Интеграция конструктора Html5Boilerplate в тему WP Сохранение содержимого LaTeX в соответствии с текстом без латекса как разместить логотип в центре других элементов в навигационной панели Как добавить в названии дату, но с другим цветом, например, в названиях iMDb? Обычная 503 ошибка каждые 5 минут для зарегистрированных пользователей Конфликтующие функции save_post при передаче идентификатора сообщения и сохранение настраиваемых мета-полей для разных типов сообщений wp_get_archives для определенной категории? Как разрешить не-кодеру пользователю вводить сложные данные?

Де-вздутие классов страниц

Стандартный класс страниц в WordPress выглядит примерно так:

<body class="page-template page-template-page-templates page-template-page-standard page-template-page-templatespage-standard-php page page-id-7 page-parent"> 

который, если вы спросите меня, немного раздувается, я имею в виду, кто собирается создать класс css .page-template-page-templatespage-standard-php ? И я действительно люблю человеческий код.

Итак, мой вопрос заключается в том, как переписать основную функцию body_class()?

Это «ответ на мой собственный вопрос», немного верный. Я искал эту информацию и не нашел ее там, надеюсь, полезной для кого-то.

И ответ такой: Я подумал, что для меня самые полезные биты – это то, что читается так;

<body class="page my-page page-id-28 template-mypage">

где page является типом сообщения, mypage – это slug страницы, затем идентификатор и, наконец, элегантная форма шаблона. (мои шаблоны – все формы page-templates/page-mypage.php поэтому вам нужно будет разместить свою собственную структуру здесь – большая часть кода page-templates/page-mypage.php .

Поместите это в functions.php

 //Modify body_class() function modify_body_class( $classes ) { global $post; // Empty class array $classes = array(); if (is_front_page()) { $classes[] = 'home'; } // add post type // add slug // Add page ID // Add template slug (first sanitise) $template_slug = get_page_template_slug(); if ($template_slug) { $template_slug = str_replace('page-templates/', "", $template_slug); $template_slug = str_replace('.php', "", $template_slug); $template_slug = str_replace('page-', "template-", $template_slug); } else { $template_slug = null; } if ( isset( $post ) ) { $classes[] = $post->post_type; $classes[] = $post->post_name; $classes[] = $post->post_type .'-id-'.$post->ID; $classes[] = $template_slug; } return $classes; } add_filter( 'body_class', 'modify_body_class' );