show_admin_bar() - позволяет отключить "Панель инструментов" (Админ Бар). Технически функция включает/отключает "Панель" для лицевой части (фронтэнда). В админ-панели "Панель" отключить невозможно.
Функцию можно вызывать на раннем этапе, даже до подключения плагинов или темы или следует размещать в файл темы functions.php.
Пример:
Функцию можно вызывать на раннем этапе, даже до подключения плагинов или темы или следует размещать в файл темы functions.php.
Пример:
add_filter('show_admin_bar', '__return_false');Этим плагином можно интегрировать формы Contact Form 7 с Битрикс24 в пару кликов! Он умеет:
⭕️ Интегрировать неограниченное количество форм;
⭕️ Передавать все типы полей, которые содержит форма (есть видео инструкции);
⭕️ Настраивать UTM-метки для анализа эффективности трафика с рекламных каналов;
⭕️ Отправлять заявка в разделы - «Лиды», «Сделка», «Задача», «Контакт», «Компания». И гибко управлять параметрами данных разделов.
⭕️ Отправлять в Битрикс24 скрытые поля с нужными значениями.
⭕️ Передавать данные в кастомные поля созданные вами в Битрикс24.
🔥 А первым 10 купившим будет скидка 35% по промокоду - hello35
⭕️ Интегрировать неограниченное количество форм;
⭕️ Передавать все типы полей, которые содержит форма (есть видео инструкции);
⭕️ Настраивать UTM-метки для анализа эффективности трафика с рекламных каналов;
⭕️ Отправлять заявка в разделы - «Лиды», «Сделка», «Задача», «Контакт», «Компания». И гибко управлять параметрами данных разделов.
⭕️ Отправлять в Битрикс24 скрытые поля с нужными значениями.
⭕️ Передавать данные в кастомные поля созданные вами в Битрикс24.
🔥 А первым 10 купившим будет скидка 35% по промокоду - hello35
register_activation_hook() - регистрирует функцию, которая будет срабатывать во время активации плагина. Функция должна вызываться напрямую из главного файла плагина.
Хук срабатывает только во время активации плагина, и не срабатывает во время автоматического обновления плагина.
Правила активации:
✓ register_activation_hook() должна вызываться из основного файла плагина, из того где расположена директива
✓ Функция хука должна быть в том же файле что и хук или подключаться заранее из другого файла.
✓ В функции хука не работает вывод на экран (echo). Потому что происходит редирект и echo вы не увидите. Но можно использовать die().
✓ Глобальные переменные (если они есть) должны быть определены явно, чтобы был доступ к ним из функции хука.
Хук срабатывает только во время активации плагина, и не срабатывает во время автоматического обновления плагина.
Правила активации:
✓ register_activation_hook() должна вызываться из основного файла плагина, из того где расположена директива
Plugin Name: ... и не должна вызываться из какого-либо хука, вроде plugins_loaded или init.✓ Функция хука должна быть в том же файле что и хук или подключаться заранее из другого файла.
✓ В функции хука не работает вывод на экран (echo). Потому что происходит редирект и echo вы не увидите. Но можно использовать die().
✓ Глобальные переменные (если они есть) должны быть определены явно, чтобы был доступ к ним из функции хука.
register_deactivation_hook() - регистрирует функцию, которая будет запускаться после деактивации плагина.
Использование
✓ $file(строка) (обязательный) - путь до главного файла плагина в рубрике
✓ $function(строка/массив) (обязательный) - название функции обратного вызова (callback), которая будет запускаться при деактивации плагина.
Использование
register_deactivation_hook( $file, $function );✓ $file(строка) (обязательный) - путь до главного файла плагина в рубрике
wp-content/plugins. Можно указать полный путь. Обычно используется волшебная константа __FILE__.✓ $function(строка/массив) (обязательный) - название функции обратного вызова (callback), которая будет запускаться при деактивации плагина.
get_template_directory() - получает полный путь от корня сайта до текущей темы (родительской, не дочерней). Без слэша на конце.
Вместо этой функции, можно использовать константу TEMPLATEPATH
Вместо этой функции, можно использовать константу TEMPLATEPATH
echo TEMPLATEPATH;/home/example.com/public_html/wp-content/themes/theme_nameecho get_template_directory();/home/example.com/public_html/wp-content/themes/theme_nameload_template() - подключает указанный файл в PHP, с помощью require_once.
Используется, чтобы быть уверенным, что среда WordPress уже установлена в момент подключения файла. Функция также устанавливает глобальные переменные:
✓ $posts,
✓ $post,
✓ $wp_did_header,
✓ $wp_query,
✓ $wp_rewrite,
✓ $wpdb,
✓ $wp_version,
✓ $wp, $id,
✓ $comment,
✓ $user_ID.
Используется, чтобы быть уверенным, что среда WordPress уже установлена в момент подключения файла. Функция также устанавливает глобальные переменные:
✓ $posts,
✓ $post,
✓ $wp_did_header,
✓ $wp_query,
✓ $wp_rewrite,
✓ $wpdb,
✓ $wp_version,
✓ $wp, $id,
✓ $comment,
✓ $user_ID.
locate_template() - находит наиболее подходящий серверный путь к указанному файлу шаблона. При поиске учитывается дочерняя тема. Можно указать, чтобы файл сразу подключался в PHP.
В функцию можно передать массив названий файлов. Тогда она будет проверять по очереди наличие файлов и при первом найденном файле, сразу вернет путь до него (следующие обрабатываться не будут). Если указать второй параметр, этот файл будет подключен в PHP.
В функцию можно передать массив названий файлов. Тогда она будет проверять по очереди наличие файлов и при первом найденном файле, сразу вернет путь до него (следующие обрабатываться не будут). Если указать второй параметр, этот файл будет подключен в PHP.
💡 Как настроить передачу чекбоксов из Contact Form 7 в Битрикс24 (Bitrix24). Для этого необходимо передать значение чекбокса в скрытый input CF7 и уже это поле передать в Bitrix24.
Эту задачу можно решить различными способами, в данном примере делаем это через js + с помощью плагина.
Эту задачу можно решить различными способами, в данном примере делаем это через js + с помощью плагина.
в function.php
в functions/woocommerce.php
// Подключение WooCommerceif (class_exists("WooCommerce")) { require get_template_directory() . "/functions/woocommerce.php";}в functions/woocommerce.php
function theme_name_woocommerce_setup(){ add_theme_support( "woocommerce", [// размер thumbnail "thumbnail_image_width" => 150, // размер изображений товара "single_image_width" => 300, // параметры вывода товаров на страницах архивов "product_grid" => [ "default_rows" => 3, "min_rows" => 1, "default_columns" => 4, "min_columns" => 1, "max_columns" => 6, ], ] ); add_theme_support("wc-product-gallery-zoom"); add_theme_support("wc-product-gallery-lightbox"); add_theme_support("wc-product-gallery-slider");}add_action("after_setup_theme", "theme_name_woocommerce_setup");⚡ Отключим стили и скрипты с помощью wp_dequeue_script() на всех страницах, кроме страниц магазина.
add_action("wp_enqueue_scripts", "wc_styles_scripts", 99);function wc_styles_scripts(){ if (function_exists("is_woocommerce")) { if (!is_woocommerce() && !is_cart() && !is_checkout() && !is_account_page()) { wp_dequeue_style("woocommerce-general"); wp_dequeue_style("evolution-woostyles"); wp_dequeue_script("wc_price_slider"); wp_dequeue_script("wc-single-product"); wp_dequeue_script("wc-add-to-cart"); wp_dequeue_script("wc-cart-fragments"); wp_dequeue_script("wc-checkout"); } }}Тут написано как создать новый тип записи, а какой файл отвечает за отображения каждой записи напишу ниже 👇👇
и в исключительных случаях можно создать
single-{post_type}.phpsingle.phpsingular.phpindex.phpи в исключительных случаях можно создать
single-{post_type}-{post_name}.php, но это прям если очень индивидуально подходить к каждому посту, что бывает редко.Чтобы скрыть необходимый пункт меню в админке, добавьте следующий код в functions.php
add_action("admin_menu", "remove_menus");function remove_menus() { remove_menu_page("index.php"); # Консоль remove_menu_page("edit.php"); # Записи remove_menu_page("edit-comments.php"); # Комментарии remove_menu_page("edit.php?post_type=page"); # Страницы remove_menu_page("upload.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"); # Параметры}👍1
Чтобы изменить стандартный порядок пунктов меню в админке на произвольный, необходимо лишь переставить пункты местами в следующем коде.
if (is_admin()) { add_filter("custom_menu_order", "__return_true"); # включаем ручную сортировку add_filter("menu_order", "custom_menu_order");# ручная сортировка function custom_menu_order($menu_order) { if (!$menu_order) return true; return array( "index.php", # Консоль "edit.php", # Записи "edit-comments.php", # Комментарии "separator1", # ~ Отступ ~ "edit.php?post_type=page", # Страницы "edit.php?post_type=reviews", # Отзывы "edit.php?post_type=stocks", # Акции "edit.php?post_type=works", # Работы клиники ); }}