10 фрагментов WordPress для настройки темы
Когда вы используете WordPress, очень легко изменить внешний вид вашего сайта, благодаря темам. Существует множество (как и целая куча) тем WordPress, доступных как бесплатно, так и по платной цене. Выберите тему, установите ее, и вы сможете получить совершенно новый вид вашего сайта в течение нескольких минут.
Но помимо придания внешнего вида, тема WordPress также может быть расширена во многих отношениях. Вы можете создавать новые функциональные возможности с помощью плагинов, но в этом посте мы рассмотрим Функции WordPress, которые могут быть полезны для вашей темы. Вы просто должны поместить эти функции в файл functions.php вашей темы, чтобы эффект имел место.
Рекомендуемое чтение: как управлять и использовать фрагменты кода в WordPress
1. Измените продолжительность выдержки
выдержка это короткий фрагмент вашего поста, который вы можете увидеть. В этом случае WordPress по умолчанию устанавливает выдержку длиной 55 слов. Но WordPress позволяет нам настроить длину по умолчанию через Фиксированная длина
фильтр, как следует.
function my_excerpt_length ($ length) return 30; add_filter ('excerpt_length', 'my_excerpt_length', 999);
Возвращаемое значение относится к сумме слов, которые будут отображаться в виде выдержки. В приведенном выше примере мы показываем 30 слов каждого поста в отрывке.
2. Уменьшить количество пост-ревизий
WordPress позволяет авторам и блогерам оглядываться на предыдущие версии своих работ. Однако, по мере того, как количество ревизий увеличивается, они также могут влиять на производительность веб-сайта, поскольку каждая вновь записанная ревизия добавляет новую строку в базу данных. Эта проблема будет только ухудшаться со временем.
Чтобы решить эту проблему, вы можете установить, сколько ревизий вы хотите сохранить в базе данных. Для этого откройте свой WP-config.php и добавьте этот фрагмент ниже. Измените номер, чтобы ограничить количество ревизий, которые вы хотите сохранить.
define ('WP_POST_REVISIONS', 5);
Если вы предпочитаете отключить ревизию WordPress, переключите значение на ЛОЖНЫЙ
как это:
define ('WP_POST_REVISIONS', false);
3. Автоматически установить избранные изображения на пост
Обычной практикой является показ избранного изображения, которое представляет или описывает сообщение. WordPress требует от нас установить это изображение вручную. Чтобы сделать процесс более эффективным, мы можем установить показанное изображение автоматически сделав первое изображение в посте избранным изображением. Используйте следующий фрагмент кода.
function autoset_featured () global $ post; $ready_has_thumb = has_post_thumbnail ($ post-> ID); if (! $ready_has_thumb) $ attach_image = get_children ("post_parent = $ post-> ID & post_type = attachment & post_mime_type = image & numberposts = 1"); if ($ attach_image) foreach ($ attach_image как $ attachment_id => $ attachment) set_post_thumbnail ($ post-> ID, $ attachment_id); add_action ('the_post', 'autoset_featured'); add_action ('save_post', 'autoset_featured'); add_action ('draft_to_publish', 'autoset_featured'); add_action ('new_to_publish', 'autoset_featured'); add_action ('pending_to_publish', 'autoset_featured'); add_action ('future_to_publish', 'autoset_featured');
4. Принудительная минимальная длина комментария
Не фанат комментариев из 1-2 слов, таких как “Хороший пост!”, “Хорошая работа!”? Хотя комментарий может не быть спамом, это тип комментариев, который обычно не стимулирует дальнейшие обсуждения. Если вы хотите, чтобы ваши комментаторы говорили, вы можете установить минимальную длину слов, необходимую для того, чтобы читатели могли оставить свой комментарий.
Ниже приведен фрагмент для установки минимального количества символов или слов для комментариев. Поместите это в functions.php.
function minimal_comment_length ($ commentdata) $ minimalCommentLength = 20; if (strlen (trim ($ commentdata ['comment_content']))
$ minimalCommentLength
значение - это минимальное количество символов, которое требуется, внесите изменения в это значение, чтобы настроить это.5. Отключить ссылки из комментариев пользователей
Ссылки, включенные в форму комментариев, сразу же становятся кликабельной ссылкой после их публикации и утверждения. Это может быть использовано спаммерами, поощряя их заполнять раздел комментариев ссылкой на свою страницу «спамеров»..
Чтобы противостоять этому, вы можете добавить этот фильтр, чтобы отключить возможность щелчка по ссылкам и сохранить их просто как простой текст.
remove_filter ('comment_text', 'make_clickable', 9);6. Удалите класс и идентификаторы из пользовательских меню
Если вы посмотрите на пользовательское меню в WordPress, вы найдете множество классов и идентификаторов в каждом пункте меню. Воспользуйтесь приведенным ниже фрагментом, чтобы удалить ненужные классы и оставить нужные вам классы..
function my_css_attributes_filter ($ var) return is_array ($ var)? array_intersect ($ var, array ('current-menu-item')): "; add_filter ('nav_menu_css_class', 'my_css_attributes_filter', 100, 1); add_filter ('nav_menu_item_id', 'my_css_attributes_filter) add_filter ('page_css_class', 'my_css_attributes_filter', 100, 1);В приведенном выше коде мы сохраняем
текущий пункт меню
учебный класс.7. Исключить страницы из поиска
Выполнение поиска в WordPress приведет к получению результатов как со страниц, так и из сообщений, иногда не имеющих большого значения для вашего поискового запроса. Чтобы предотвратить это, вы можете отфильтровать результаты поиска, чтобы показывать только те, которые найдены в сообщениях Добавить этот фрагмент к function.php сделать это.
function SearchFilter ($ query) if ($ query-> is_search) $ query-> set ('post_type', 'post'); return $ query; add_filter ('pre_get_posts', 'SearchFilter');8. Заменить привет текст
Вам надоел текст «Привет»? Если вы хотите изменить это на специальное приветствие на вашем сайте, просто добавьте это в functions.php, и эффект будет иметь место немедленно.
function change_howdy ($ переведено, $ text, $ domain) if (false! == strpos ($ translation, 'Howdy')) return str_replace ('Howdy', 'Hello', $ translation); вернуть $ переведено; add_filter ('gettext', 'change_howdy', 10, 3);9. Добавить дополнительное удаление меню для определенных ролей
С помощью этого фрагмента вы можете скрыть меню, которые находятся на панели инструментов, для не администраторов..
function remove_admin_menus () if (is_user_logged_in () &&! current_user_can ('administrator')) remove_menu_page ('index.php'); // Панель инструментов remove_menu_page ('edit.php'); // Сообщения remove_menu_page ('upload.php'); // Media remove_menu_page ('edit.php? Post_type = page'); // Pages remove_menu_page ('edit-comments.php'); // Комментарии remove_menu_page ('themes.php'); // Внешний вид remove_menu_page ('plugins.php'); // Плагины remove_menu_page ('users.php'); // Пользователи remove_menu_page ('tools.php'); // Инструменты remove_menu_page ('options-general.php'); // Настройки add_action ('admin_init', 'remove_admin_menus');Обратите внимание, что это просто удаляет меню с экрана, но не фильтрует разрешение пользователя на доступ к этому меню. Это не мешает пользователю получить доступ к этим меню напрямую через адресную строку браузера. Не забудьте добавить их в свой functions.php.
10. Удалить админ-бар ссылку для не-администраторов
В панели управления WordPress, помимо главного меню на боковой панели, вы также найдете несколько ссылок меню вверху. Вы можете ограничить доступ к этой ссылке панели администратора для определенных ролей или пользователей. Этот фрагмент ниже удалит меню в панели администратора для пользователей, которые не являются Администраторами - настройте соответственно.
function remove_admin_bar_links () global $ wp_admin_bar; if (! current_user_can ('administrator')) $ wp_admin_bar-> remove_menu ('wp-logo'); // Удалить логотип WordPress $ wp_admin_bar-> remove_menu ('about'); // Удалить ссылку о WordPress $ wp_admin_bar-> remove_menu ('wporg'); // Удалить ссылку WordPress.org $ wp_admin_bar-> remove_menu ('документация'); // Удалить ссылку на документацию WordPress $ wp_admin_bar-> remove_menu ('support-forums'); // Удалить ссылку на форумах поддержки $ wp_admin_bar-> remove_menu ('feedback'); // Удалить ссылку обратной связи $ wp_admin_bar-> remove_menu ('site-name'); // Удалить ссылку на имя сайта $ wp_admin_bar-> remove_menu ('view-site'); // Удалить ссылку для посещения сайта $ wp_admin_bar-> remove_menu ('updates'); // Удалить ссылку на обновления $ wp_admin_bar-> remove_menu ('comments'); // Удалить ссылку на комментарии $ wp_admin_bar-> remove_menu ('new-content'); // Удалить ссылку на новый контент $ wp_admin_bar-> remove_menu ('my-account'); // Удалить вкладку сведений о пользователе add_action ('wp_before_admin_bar_render', 'remove_admin_bar_links');