9 трюков для WordPress, которые вам обязательно пригодят

Представляем несколько коротких, но полезных фрагментов кода, которые немного упростят вашу жизнь, как WordPress разработчика, Мы поговорим обо всем понемногу, начиная с автоматического удаления постов, быстрого выбора иконки поста и заканчивая перенаправлением пользователей, как только они авторизировались. Начнем с нескольких простых сниппетов в одну строку.

1. Скрываем внешнюю панель управления

Начиная с версии 3. 1, WordPress предоставляет внешнюю панель администратора для всех пользователей. Вы можете посчитать, что она ухудшает вид вашего сайта. Чтобы отключить ее, используйте функцию show_admin_bar: show_admin_bar(FALSE);

Вы также можете отключить ее с помощью своего «Профиля пользователя», но наш способ особенно удобен, если у вас на сайте много авторов / пользователей, и вам необходимо отключить панель для всех.

2. Автоматически удаляем посты из корзины

Количество постов в корзине может нарастать, если вы забываете их удалять. Используйте этот код в /wp-config. php, чтобы очистить корзину: define(‘EMPTY_TRASH_DAYS’, 5);

3. Включаем внутренний отладчик WordPress

При разработке необходимо видеть ошибки, выдаваемые вашим кодом. Помните, что не все ошибки останавливают выполнение скрипта, но, тем не менее, это ошибки, и они могут странным образом влиять на другие части вашего кода. Потому, включите отладку WordPress в вашем файле /wp-config. php: define(‘WP_DEBUG’, TRUE);

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

4. Перенаправляем пользователей после авторизации

Обычно после авторизации пользователь попадает сразу в свою панель управления. Возможно, вы этого не хотите. Наш код использует фильтр login_redirect, чтобы перенаправить пользователя, не являющегося администратором, на главную страницу:

add_filter(“login_redirect”, “subscriber_login_redirect”, 10, 3); function subscriber_login_redirect($redirect_to, $request, $user){ if(is_array($user->roles)){ if(in_array(‘administrator’, $user->roles)) return home_url(‘/wp-admin/’);

} return home_url();

}

В зависимости от роли пользователя, вы можете отправить его на любую страницу, на которую захотите.

5. Показываем стандартную иконку поста

Начиная с версии 2. 9, WordPress предоставляет возможность создавать иконку поста, как, например, вы можете увидеть здесь, на wpcafe. org. При добавлении поста администратором это называется «Featured Image» (Миниатюра). Но если у вас нет особой картинки для поста, вы можете просто вызвать картинку по умолчанию.

Внутри цикла: if(has_post_thumbnail()){ the_post_thumbnail();

}else{ echo ”;

} проверяем, есть ли иконка у поста с помощью has_post_thumbnail

Если да, показываем ее с помощью the_post_thumbnail ()

Иначе генерируем тег img для стандартной картинки

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

6. Показываем время с момента публикации для постов и комментариев

Вместо «Опубликовано 25/11/1011» можно вывести «Опубликовано 3 дня назад».

Используется в цикле: echo human_time_diff(get_the_time(‘U’), current_time(‘timestamp’)). ‘ ago’;

Также можно использовать для комментариев: echo human_time_diff(get_comment_time(‘U’), current_time(‘timestamp’)). ‘ ago’;

Или можно показывать обычную дату / время только если пост старше недели, в противном случае выводить время с момента публикации.

$time_diff = current_time(‘timestamp’) – get_the_time(‘U’); if($time_diff < 604800){//seconds in a week = 604800 echo ‘Posted ‘. human_time_diff(get_the_time(‘U’), current_time(‘timestamp’)). ‘ ago’;

}else{ echo ‘Posted on ‘. get_the_date(). ‘, ‘. get_the_time();

};

7. Отдельный стиль для комментариев автора

Хорошее решение — показать пользователям, что автор поста пишет комментарий к посту. Все, что для этого нужно сделать, это добавить класс для контейнера комментария, а затем прописать этот стиль в теме.

Чтобы определить, какие комментарии были написаны автором поста, мы используем этот код для вывода названия класса: if($comment->user_id == get_the_author_meta(‘ID’)){ echo ”;

}else{ echo ”;

}

Мы сравниваем идентификатор пользователя, оставившего комментарий, с идентификатором автора поста, который получаем с помощью функции get_the_author_meta. Если они совпадают, мы выводим класс author_comment, стиль для которого мы прописываем в css.

8. Показываем информацию о пользователях, постах, комментариях вашего сайта на WordPress

Вы можете сделать запрос напрямую в вашу базу данных WordPress, чтобы показать нужную информацию по сайту. Вставьте эту функцию в файл темы functions. php и вызывайте ее в любом месте с помощью get_site_data () function get_site_data(){ global $wpdb;

$users = $wpdb->get_var(“SELECT COUNT(ID) FROM $wpdb->users”);

$posts = $wpdb->get_var(“SELECT COUNT(ID) FROM $wpdb->posts WHERE post_status = ‘publish'”);

$comments = $wpdb->get_var(“SELECT COUNT(comment_ID) FROM $wpdb->comments”); echo ”. $users. ‘ members have made ‘. $comments. ‘ comments in ‘. $posts. ‘ posts’;

}

Это лучше, чем вызывать стандартные функции WordPress, так как можно подсчитать посты всех типов, а также только опубликованные на данный момент посты.

9. Правильное добавление файла JavaScript

WordPress предоставляет функцию wp_enqueue_script для безопасного добавления скриптов.

Допустим, наша папка со скриптами находится внутри папки шаблонов, и там у нас есть файл do_stuff. js Так что путь у нас получается такой: url_to_template_dir/scripts/do_stuff. js

Давайте теперь правильно вставим наш скрипт. Код нужно вставить перед wp_head в ваш файл шапки (header. php):

$script_url = get_template_directory_uri(). ‘/scripts/do_stuff. js’; wp_enqueue_script(‘do_stuff’, $script_url);

Здесь мы соединяем путь к нашему скрипту и его название с результатом WordPress-функции get_template_directory_uri

Затем мы добавляем наш скрипт, задавая для него идентификатор (для возможного дальнейшего использования) и URL скрипта. Теперь WordPress будет подключать наш скрипт на каждой странице.

Реальное преимущество этого в том, что если, например, наш скрипт do_stuff – это jQuery скрипт, нам также нужно иметь подгруженный jQuery.

Теперь же jQuery по умолчанию подключен в WordPress и был предварительно зарегистрирован с идентификатором jQuery. Так что все, что нам нужно – это добавить наш jQuery, а затем добавить наш do_stuff. js, вот так: wp_enqueue_script(‘jquery’);

$script_url = get_template_directory_uri(). ‘/scripts/do_stuff. js’; wp_enqueue_script(‘do_stuff’, $script_url, array(‘jquery’));

Обратите внимание на третий параметр в wp_enqueue_script для do_stuff: он сообщает WordPress, что наш скрипт do_stuff зависим от скрипта с идентификатором jquery. Это важно, так как значит, что jquery будет подгружен перед do_stuff.

Вы можете поменять местами команды wp_enqueue_script и это не будет иметь значения, так как установленные зависимости между скриптами позволяют WordPress подгружать скрипты в правильном порядке, чтобы они могли спокойно вместе работать.

Оставить свой комментарий
  1. Аноним

    процессе работы WordPress. Чтобы включить внутренний отладчик, добавьте следующий код в файл wp-config.php:

    define(‘WP_DEBUG’, true);
    define(‘WP_DEBUG_LOG’, true);
    define(‘WP_DEBUG_DISPLAY’, false);
    4. Быстрый выбор иконки поста
    WordPress предоставляет множество встроенных иконок для различных типов постов. Чтобы быстро выбрать иконку поста, добавьте следующий код в файл functions.php вашей темы:

    function set_post_type_icon($post_id, $post) {
    $icon = ”;
    switch($post->post_type) {
    case ‘post’:
    $icon = ‘dashicons-admin-post’;
    break;
    case ‘page’:
    $icon = ‘dashicons-admin-page’;
    break;
    //добавьте свои условия для других типов постов
    }

    echo ‘

    ‘;
    }
    add_action(‘admin_head-post.php’, ‘set_post_type_icon’);
    add_action(‘admin_head-post-new.php’, ‘set_post_type_icon’);
    5. Перенаправление пользователей после авторизации
    При авторизации пользователей WordPress перенаправляет их на главную страницу администратора. Если вы хотите изменить это поведение, добавьте следующий код в файл functions.php вашей темы:

    function redirect_after_login() {
    return home_url();}
    add_filter(‘login_redirect’, ‘redirect_after_login’);

  2. Вебмастер

    консоли браузера. Включите внутренний отладчик, установив значение WP_DEBUG в true в файле wp-config.php: define(‘WP_DEBUG’, true);
    4. Быстрый выбор иконки поста
    Добавьте следующий код в functions.php, чтобы быстро выбирать иконку для поста и отображать ее в админ-панели WordPress:
    add_action( ‘admin_head’, ‘wpse65087_admin_menu_icon’ );
    function wpse65087_admin_menu_icon() {
    global $post_type;

    if ( ‘post’ != $post_type ) // Укажите тип поста, для которого необходимо выбирать иконкуreturn;

    echo ‘

    ‘;
    }
    5. Перенаправление пользователей после авторизации
    Используйте следующий код, чтобы автоматически перенаправлять пользователей на определенную страницу после авторизации. Добавьте его в functions.php:
    function wpse_login_redirect( $redirect_to, $request, $user ) {
    return home_url( ‘/your-page’ ); // Замените “/your-page” на URL нужной страницы
    }
    add_filter( ‘login_redirect’, ‘wpse_login_redirect’, 10, 3 );

    Вот несколько полезных фрагментов кода, которые могут пригодиться WordPress разработчикам. Надеюсь, они помогут вам упростить работу и улучшить ваш сайт. Удачи вам!

Ваш комментарий

Обязательные поля помечены *

9 трюков для WordPress, которые вам обязательно пригодят

Представляем несколько коротких, но полезных фрагментов кода, которые немного упростят вашу жизнь, как WordPress...

Подробнее
9 трюков для WordPress, которые вам обязательно пригодят

Представляем несколько коротких, но полезных фрагментов кода, которые немного упростят вашу жизнь, как WordPress...

Подробнее
9 трюков для WordPress, которые вам обязательно пригодят

Представляем несколько коротких, но полезных фрагментов кода, которые немного упростят вашу жизнь, как WordPress...

Подробнее
9 трюков для WordPress, которые вам обязательно пригодят

Представляем несколько коротких, но полезных фрагментов кода, которые немного упростят вашу жизнь, как WordPress...

Подробнее
9 трюков для WordPress, которые вам обязательно пригодят

Представляем несколько коротких, но полезных фрагментов кода, которые немного упростят вашу жизнь, как WordPress...

Подробнее
9 трюков для WordPress, которые вам обязательно пригодят

Представляем несколько коротких, но полезных фрагментов кода, которые немного упростят вашу жизнь, как WordPress...

Подробнее
9 трюков для WordPress, которые вам обязательно пригодят

Представляем несколько коротких, но полезных фрагментов кода, которые немного упростят вашу жизнь, как WordPress...

Подробнее
9 трюков для WordPress, которые вам обязательно пригодят

Представляем несколько коротких, но полезных фрагментов кода, которые немного упростят вашу жизнь, как WordPress...

Подробнее
9 трюков для WordPress, которые вам обязательно пригодят

Представляем несколько коротких, но полезных фрагментов кода, которые немного упростят вашу жизнь, как WordPress...

Подробнее
9 трюков для WordPress, которые вам обязательно пригодят

Представляем несколько коротких, но полезных фрагментов кода, которые немного упростят вашу жизнь, как WordPress...

Подробнее

Что будем искать? Например, Кредит

Create a Mobile Website
View Site in Mobile | Classic
Share by: