Как отключить выбор родительской страницы?
При редактировании страницы вам доступен метабокс "Свойства страницы", где вы можете выбрать родительскую страницу. Даже если этот метабокс отключен в "Настройках экрана" WordPress все равно будет грузить весь список существующих страниц в select элемент (на скриншоте). Чем это плохо? Да ничем, если у вас правильно организован сайт. Если же вы построили свой сайт целиком на использовании страниц, то тут могут возникнуть проблемы (так как движок всегда будет грузить весь список страниц, даже если их у вас много тысяч).
Как перенаправить пользователей после авторизации на главную?
После авторизации пользователи автоматически попадают в админку сайта. Как это исправить и перенаправить пользователей на главную страницу сайта? Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:
//редирект пользователей после авторизации на главную start function wph_login_redirect($redirect_to, $request, $user) { global $user; if (isset($user->roles) && is_array($user->roles)) { if (in_array('administrator', $user->roles)) { return $redirect_to; } else { return home_url(); } } else { return $redirect_to; } } add_filter('login_redirect', 'wph_login_redirect', 10, 3); //редирект пользователей после авторизации на главную end |
Помните, что пользователи все равно смогут попасть в админку сайта. Если вам это не нравится, то воспользуйтесь кодом, закрывающим админку для подписчиков.
Как отключить вывод в записях какого-либо шорткода?
Иногда бывает необходимо временно или навсегда отключить какой-либо шорткод темы или плагина. Можно, конечно, отредактировать каждую запись на вашем сайте, вручную удаляя ставший ненужным шорткод. Или можно воспользоваться каким-нибудь сложным запросом к базе данных MySQL, чтобы удалить все ненужные шорткоды разом. А можно просто отключить вывод в записях результат работы указанных шорткодов, без необходимости что-либо массово править. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:
//отключение шорткода [shortcode] start add_shortcode('shortcode', '__return_false'); //отключение шорткода [shortcode] end |
Где 'shortcode' это ваш шорткод. Желательно вставить этот код в самый низ файла functions.php (на случай, если код удаляемого шорткода прописан именно в нем).
Как отсортировать записи в админке по ID?
По умолчанию WordPress не выводит колонку "ID" в админке сайта, а поэтому отсортировать записи в админке по этому параметру нельзя. Если же вам необходимо отсортировать записи в админке именно по ID (скажем, именно ID у вас показатель "свежести" записей, если дата публикации у них время от времени меняется), то вы можете использовать следующий код, который вы должны добавить в файл functions.php вашей темы:
//сортировка записей в админке по ID start function wph_order_posts_by_id($query) { if (is_admin() && $query->is_main_query()) { $query->set('orderby', 'ID'); $query->set('order', 'ASC'); } } add_action('pre_get_posts', 'wph_order_posts_by_id'); //сортировка записей в админке по ID end |
Как вывести форму поиска с помощью шорткода?
В движке нет стандартного способа вывести форму поиска в контенте записи или страницы. Но не беда, форму поиска можно засунуть в шорткод, который можно будет вставить в любое нужное вам место. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:
//вывод стандартной формы поиска шорткодом start function wph_display_search_form() { return get_search_form(false); } add_shortcode('search_form', 'wph_display_search_form'); //вывод стандартной формы поиска шорткодом end |
Как перенаправить пользователей после их первой авторизации?
Я уже описывал способ перенаправления пользователей после их регистрации на сайте. Однако, в некоторых случаях будет более правильным перенаправлять пользователей не после их регистрации, а после их первой авторизации на сайте. Так, по крайней мере, пользователи смогут увидеть сообщение движка о том, что регистрация на сайте завершена и им надо проверить свою почту (это может быть важно с тех пор, как WordPress перестал присылать письма с паролем по почте). Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:
Как при подсчете комментариев не учитывать пинги?
Темы для WordPress для вывода числа комментариев используют в основном функции comments_popup_link() и comments_number(), которые по умолчанию считают все комментарии записи, включая пинги (обратные ссылки и уведомления). Если ваша тема не выводит пинги, то число комментариев может смущать - оно может быть больше реального числа комментариев. Исправить это просто, для этого вам необходимо добавить в файл functions.php вашей темы следующий код: