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

Настраиваем порядок меню в административной панели WordPress

Добавление следующего кода в файл functions.php вашей темы позволит вам настроить порядок вывода меню в админке (Записи, Страницы и т.д.)

   function custom_menu_order($menu_ord) {<div style="float:right;width:350px;margin:0 0 10px 15px;">
<div id="yandex_rtb_R-A-187781-2"></div>
</div>
       if (!$menu_ord) return true;
       return array(
        'index.php', // этот пункт отвечает за консоль
        'edit.php?post_type=events', // это пользовательский тип записи - События
        'edit.php?post_type=news',
        'edit.php?post_type=articles',
        'edit.php?post_type=faqs',
        'edit.php?post_type=mentors',
        'edit.php?post_type=testimonials',
        'edit.php?post_type=services',
        'edit.php?post_type=page', // это стандартное меню - Страницы
        'edit.php', // Этот стандартная страница редактирования записи
    );
   }
   add_filter('custom_menu_order', 'custom_menu_order');
   add_filter('menu_order', 'custom_menu_order');

Перенаправляем страницы админ.панели на любое расположение

Перенаправление страниц админки недавно понадобилось в одном из наших проектов. Следующий сниппет позволит вам редиректить любую из страниц на любое другое расположение в зависимости от ролил пользователя. Другая же доступная опция — заменить wp_redirect на wp_die(«настраиваемое сообщение»); для вывода сообщения вместо перенаправления.

function wps_admin_pages_redirect() {
      global $pagenow;
      $admin_pages = array(
                                'edit-tags.php?taxonomy=category',
                                'edit-tags.php?taxonomy=post_tag',
                                'link-manager.php',
                                'options-writing.php',
                                'options-reading.php',
                                'options-discussion.php',
                                'options-media.php',
                                'options-privacy.php',
                                'options-permalink.php',
                        );
      if(in_array($pagenow, $admin_pages)){
        wp_redirect( admin_url('/') ); exit;
      }
}
if(!current_user_can('edit_post')){
add_action('admin_init', 'wps_admin_pages_redirect');
}

Активируем Contact form 7 на определенных страницах с помощью wp_deregister_script

Как и многие другие плагины, Contact form 7 добавляет CSS и Javascript в заголовки ваших страниц. Как и другие плагины, это происходит на ВСЕХ страницах, даже там, где форма контактов не выводится вовсе. Добавление этого сниппета в файл functions.php вашей темы разрешит подгрузку скриптов формы только на определенных страницах.

В коде вы видите !is_page(array(8,10)) внутри каждого массива, где 8 и 10 — это ID записей, на которых нужно вывести форму и соответственно подгружать CSS и Javascript на странице.

add_action( 'wp_print_scripts', 'deregister_cf7_javascript', 100 );
function deregister_cf7_javascript() {
    if ( !is_page(array(8,10)) ) {
        wp_deregister_script( 'contact-form-7' );
    }
}
add_action( 'wp_print_styles', 'deregister_cf7_styles', 100 );
function deregister_cf7_styles() {
    if ( !is_page(array(8,10)) ) {
        wp_deregister_style( 'contact-form-7' );
    }
}
VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top