Пачка полезных сниппетов для блога. Часть 13

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Быстро получаем содержимое записи по её ID

При разработке собственной темы вам может понадобиться получить содержимое или заголовок определенной записи. Иногда, используя пользовательские циклы, это лучшее решение, однако что если вам нужно получить информацию конкретной записи? Тогда этот сниппет — для вас.

Просто используем функцию get_post_field() для получения контента записи. Следующий пример отобразит содержание поста с id $post_id:

echo get_post_field('post_content', $post_id);

В принципе, функция может использоваться для получения других полей из записи. Смотрите страницу Кодекса для подробной справки.

Как вручную обновить ваше имя пользователя в WordPress

Если вам нужно изменить ваше имя пользователя в WordPress, самый простой путь — использовать PhpMyAdmin и выполнить простой SQL запрос, чтобы обновить его. Вот маленький кусочек кода для этого.
Логинимся в свой PhpMyAdmin, выбираем вашу базу данных WordPress и кликаем на кнопку “SQL” для того, чтобы открыть окно для запросов SQL.

wordpress-phpmyadmin[1]

Затем вставляем следующий код в поле для ввода. Не забудьте изменить имя пользователя и пароль перед выполнением запроса. Также убедитесь, что у вас есть свежая резервная копия вашей базы данных перед выполнением любых запросов.

UPDATE wp_users SET user_login = 'New login' WHERE user_login = 'Admin';

Ускоряем свой блог с помощью кеширования пользовательских запросов

Ваша тема использует пользовательские запросы? Если да, то вам определенно стоит использовать WordPress Transients API для кеширования запросов, и, как следствие, ускорения вашего блога. Сниппет ниже поможет вам кешировать любые пользовательские запросы.

Здесь ничего сложного: просто вставляем следующий код в то место, где необходимо выполнить пользовательский запрос к базе данных. Не забудьте обновить запрос в строке 5!

<?php
// Get any existing copy of our transient data
if ( false === ( $special_query_results = get_transient( 'special_query_results' ) ) ) {
    // It wasn't there, so regenerate the data and save the transient
     $special_query_results = new WP_Query( 'cat=5&order=random&tag=tech&post_meta_key=thumbnail' );
     set_transient( 'special_query_results', $special_query_results );
}

// Используйте здесь данные, как обычно...
?>

Код использует WordPress Transients API. По этой ссылке можно подсмотреть много интересных примеров использования этого API.

Получаем ссылку на миниатюру

Сниппет ниже даст вам возможность извлечь ссылку на миниатюру записи. Это очень полезно, в случае если вам необходимо использовать url миниатюры в вашем коде.

Просто вставляем следующий код в файл вашей темы, внутрь цикла.

<?php
$image_id = get_post_thumbnail_id();
$image_url = wp_get_attachment_image_src($image_id);
$image_url = $image_url[0];
?>

Как определить, активирован ли плагин

При разработке темы WordPress нам часто приходиться обращаться к плагина. Например, существует множество тем, которые основываются на плагине Wp-PageNavi для навигации по сайту. Однако, если конечный пользователь не установил плагин, то код «ломается» и тему уже невозможно использовать. К счастью, существует функция ВП под названием is_plugin_active(), которую можно использовать для определения, активен ли плагин.

Ничего сложного: просто вставляем код ниже в то место, где необходимо протестировать, активен ли определенный плагин. Не забудьте обновить код в строке 2 (путь к плагину).

<?php
   if (is_plugin_active('plugin-directory/plugin-file.php')) {
      // в этом случае плагин активен
   }
?>

Как вычистить wp_head() без использования плагина

WordPress добавляет много мусора через хук wp_head() в большинстве тем WordPress. Некоторые вещи полезны, но большинство — нет. Вот сниппет, который поможет очистить wp_head() очень легко, и без помощи плагинов.

Вставьте следующий код в файл functions.php вашей темы или в плагин для сайта WordPress:

remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'adjacent_posts_rel_link' );
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 );
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );

Как добавить собственный текст на страницу входа в WordPress

Если по какой-либо причине вам необходимо вывести собственное сообщение на странице входа в WordPress, вот кусочек кода для этого.

Вставляем код в файл functions.php вашей темы или в плагин для сайта WordPress. Само сообщение необходимо отредактировать в строке 3.

function wps_login_message( $message ) {
    if ( empty($message) ){
        return "<p class='message'>Добро пожаловать на наш сайт. Пожалуйста, войдите со своим именем пользователя и паролем для продолжения.</p>";
    } else {
        return $message;
    }
}
add_filter( 'login_message', 'wps_login_message' );
VN:F [1.9.22_1171]

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии