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", # Работы клиники ); }}