TGViewer
Channel Public Channel
Вадим Фоминов | Создаю сайты на Wordpress

Вадим Фоминов | Создаю сайты на Wordpress

@wordpress_by

Про сайты со сложной структурой: интернет-магазин, сайт-каталог, блог, сайт-портфолио или личный кабинет любой сложности.

Для связи: @vadimfominov
Subscribers
1.53K
Photos
233
Videos
5
Links
112

Showing posts older than #474 · Back to latest

Older Posts 20 shown
Post #473 1.39K
⚡ Отключим стили и скрипты с помощью 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");
        }
    }
}
Post #472 1.39K
💡 Отключение стилей WooCommerce по умолчанию

add_filter("woocommerce_enqueue_styles", "__return_empty_array");
Post #470 1.37K
в function.php
// Подключение WooCommerce
if (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");
Post #468 1.4K
💡 Как настроить передачу чекбоксов из Contact Form 7 в Битрикс24 (Bitrix24). Для этого необходимо передать значение чекбокса в скрытый input CF7 и уже это поле передать в Bitrix24.

Эту задачу можно решить различными способами, в данном примере делаем это через js + с помощью плагина.
Post #465 1.49K
Существует короткий синтаксис массива, который заменяет array() на [].

Пример:
<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

// Использование синтаксиса короткого массива
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>
Post #463 1.85K
register_post_type() — создает новый тип записи или изменяет имеющийся.

❗ После создания нового типа записи. Обязательно нужно зайти на страницу  Настройки → Постоянные ссылки. Нужно это для того, чтобы правила ЧПУ были пересозданы и туда были добавлены правила нового типа записи.
Post #460 2.21K
locate_template() - находит наиболее подходящий серверный путь к указанному файлу шаблона. При поиске учитывается дочерняя тема. Можно указать, чтобы файл сразу подключался в PHP.

В функцию можно передать массив названий файлов. Тогда она будет проверять по очереди наличие файлов и при первом найденном файле, сразу вернет путь до него (следующие обрабатываться не будут). Если указать второй параметр, этот файл будет подключен в PHP.
Post #459 1.84K
load_template() - подключает указанный файл в PHP, с помощью require_once.

Используется, чтобы быть уверенным, что среда WordPress уже установлена в момент подключения файла. Функция также устанавливает глобальные переменные: 
✓ $posts, 
✓ $post, 
✓ $wp_did_header, 
✓ $wp_query, 
✓ $wp_rewrite, 
✓ $wpdb, 
✓ $wp_version, 
✓ $wp, $id, 
✓ $comment, 
✓ $user_ID.
Post #458 1.57K
get_template_directory() - получает полный путь от корня сайта до текущей темы (родительской, не дочерней). Без слэша на конце.

Вместо этой функции, можно использовать константу TEMPLATEPATH

echo TEMPLATEPATH;
/home/example.com/public_html/wp-content/themes/theme_name

echo get_template_directory();
/home/example.com/public_html/wp-content/themes/theme_name
Post #456 1.44K
get_self_link()  - получает URL (ссылку) текущей страницы (запроса), которая запустила текущий работающий код.

Например вернет URL https://example.com, если мы вызовем эту функцию на главной странице сайта.
Post #454 1.73K
register_deactivation_hook() - регистрирует функцию, которая будет запускаться после деактивации плагина.

Использование
register_deactivation_hook( $file, $function );

✓ $file(строка) (обязательный) - путь до главного файла плагина в рубрике wp-content/plugins. Можно указать полный путь. Обычно используется волшебная константа __FILE__.
✓ $function(строка/массив) (обязательный) - название функции обратного вызова (callback), которая будет запускаться при деактивации плагина.
Post #452 1.56K
register_activation_hook() - регистрирует функцию, которая будет срабатывать во время активации плагина. Функция должна вызываться напрямую из главного файла плагина.

Хук срабатывает только во время активации плагина, и не срабатывает во время автоматического обновления плагина.

Правила активации:
✓ register_activation_hook() должна вызываться из основного файла плагина, из того где расположена директива Plugin Name: ... и не должна вызываться из какого-либо хука, вроде plugins_loaded или init.
✓ Функция хука должна быть в том же файле что и хук или подключаться заранее из другого файла.
✓ В функции хука не работает вывод на экран (echo). Потому что происходит редирект и echo вы не увидите. Но можно использовать die().
✓ Глобальные переменные (если они есть) должны быть определены явно, чтобы был доступ к ним из функции хука.
Post #451 1.56K
Этим плагином можно интегрировать формы Contact Form 7 с Битрикс24 в пару кликов! Он умеет:

⭕️ Интегрировать неограниченное количество форм;

⭕️ Передавать все типы полей, которые содержит форма (есть видео инструкции);

⭕️ Настраивать UTM-метки для анализа эффективности трафика с рекламных каналов;

⭕️ Отправлять заявка в разделы - «Лиды», «Сделка», «Задача», «Контакт», «Компания». И гибко управлять параметрами данных разделов.

⭕️ Отправлять в Битрикс24 скрытые поля с нужными значениями.

⭕️ Передавать данные в кастомные поля созданные вами в Битрикс24.

🔥 А первым 10 купившим будет скидка 35% по промокоду - hello35
Post #450 1.41K
show_admin_bar() - позволяет отключить "Панель инструментов" (Админ Бар). Технически функция включает/отключает "Панель" для лицевой части (фронтэнда). В админ-панели "Панель" отключить невозможно.

Функцию можно вызывать на раннем этапе, даже до подключения плагинов или темы или следует размещать в файл темы functions.php.

Пример:
add_filter('show_admin_bar', '__return_false');
Post #449 1.43K
Остался в РФ и думаешь о своем будущем? Посмотри на IT! Это отличный шанс для всех, ведь в 2022 году на рынке освободилось место для новых специалистов после оттока айтишников из страны.

Поступай в  Kata Academy на Frontend-разработчика и плати за обучение только после гарантированного трудоустройства с зарплатой от 80 000₽. 

Тебя ждут 9 месяцев интенсивного обучения: ты изучишь только нужный стек технологий и будешь полностью подготовлен к выходу на работу в Москве или Санкт-Петербурге, куда тебе предстоит переехать после выпуска по условиям договора со школой. 

По окончании обучения школа продолжит поддерживать тебя и участвовать в развитии твоей карьеры в течение 2-х лет после выпуска.

Поступай в Kata Academy, чтобы стать Frontend-разработчиком уже в июле!
Post #448 1.38K
Вадим Фоминов | Создаю сайты на Wordpress tax_query - параметры запроса для таксономий. Может принимать следующий ряд вложенных аргументов: ✓ relation - как выбирать записи из указанных таксономий ( AND или OR). Указывается в первом массиве. Термины - во вложенных массивах, которые могут иметь следующие…
operator - оператор, указывающий как сравнивать указанные термины в параметре terms. Может быть:
✓ IN - записи из указанных терминов (по умолчанию).
✓ NOT IN - записи из всех терминов, кроме указанных.
✓ AND - записи одновременно принадлежащие всем указанным терминам.
✓ EXISTS - записи из таксономии (у которых есть любой термин таксономии). В этом случае параметр terms указывать не надо.
✓ NOT EXISTS - записи НЕ из таксономии (у которых нет ни одного термина таксономии). В этом случае параметр terms указывать не надо.
Post #446 1.4K
tax_query - параметры запроса для таксономий. Может принимать следующий ряд вложенных аргументов:
✓ relation - как выбирать записи из указанных таксономий ( AND или OR). Указывается в первом массиве.
Термины - во вложенных массивах, которые могут иметь следующие параметры:
✓ taxonomy - название таксономии
✓ field - поле которое будет указывать в параметре terms (id, name, slug)
✓ terms - термины таксономии, из которых нужно вывести записи
✓ operator - оператор, указывающий как сравнивать указанные термины в параметре terms
✓ include_children - включать или нет посты из дочерних терминов (для древовидных таксономий). true -включить.
Post #443 1.67K
В WordPress для страниц с 404-й ошибкой предусмотрен специальный файл 404.php, он подключается автоматически, если запрошенной пользователем страницы не существует.

is_404() — проверяет, является ли текущая отображаемая страница 404-й ошибкой.

Возвращает true в случае отображения страницы с 404-й ошибкой (после получения статуса
HTTP 404: Not Found), в остальных случаях — false.
Post #441 1.72K
Часто на сайтах ставят кнопку/ссылку на предыдущую страницу.

Этот код поможет вернуться на страницу назад.
<a href="<?php echo esc_js('javascript:history.go(-1)'); ?>">Вернуться назад</a>
Post #439 1.58K
get_header()  - подключает файл шаблона header.php (шапку). Если передан параметр $name, то будет подключен файл header-{name}.php.

Пример:
<?php
if ( is_home() ){
get_header('home');
}
elseif ( is_404() ) {
get_header('404');
}
else {
get_header();
}
?>

Для главной страницы и 404 будут подключены header-home.php и header-404.php соответственно.
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →