Вадим Фоминов | Создаю сайты на Wordpress
1.53K subscribers
233 photos
5 videos
15 files
112 links
Про сайты со сложной структурой: интернет-магазин, сайт-каталог, блог, сайт-портфолио или личный кабинет любой сложности.

Для связи: @vadimfominov
Download Telegram
💡 Добавляем шорткод прямо в верстке в произвольном месте <?php echo do_shortcode('[YOUR-SHORTCODE-NAME/TAG]'); ?>
👍 Чтобы в вариативных товарах не выводилось количество оставшихся товаров, в functions.php прописываем:
add_filter( 'woocommerce_reset_variations_link', '__return_empty_string', 9999 );
В .htaccess после строки # END WordPress, дописываем:

php_value upload_max_filesize 999M
php_value post_max_size 999M
php_value memory_limit 999M
php_value max_execution_time 300
php_value max_input_time 300
🔥1
В functions.php прописываем:
add_filter( 'avatar_defaults', 'setnew_gravatar' );
 
function setnew_gravatar ($avatar_defaults) {
$myavatar = 'ссылка на аватар';
$avatar_defaults[$myavatar] = "Новый аватар";
return $avatar_defaults;
}    

Настройки => обсуждение => аватар по умолчанию.
<?php echo($wp_version); ?> - вернет номер версии ВП.
<?php get_header(); ?>
header.php.

<?php get_template_part('file'); ?>
file.php

<?php get_search_form(); ?>
Форма Поиска searchform.php

<?php comments_template(); ?>
Шаблон Комментариев comments.php

<?php get_sidebar(); ?>
sidebar.php

<?php get_footer(); ?>
footer.php
<?php bloginfo('name'); ?>
Название сайта.

<?php bloginfo('description'); ?>
Короткое описание сайта.

<?php bloginfo('template_url'); ?>
URL Темы: get_template_directory().

<?php bloginfo('template_directory'); ?>
URL Темы: get_template_directory().

<?php bloginfo('stylesheet_directory'); ?>
URL Темы: get_stylesheet_directory_uri().

<?php bloginfo('stylesheet_url'); ?>
URL файла темы style.css: get_stylesheet_uri().

<?php bloginfo('charset'); ?>
Кодировка сайта.

<?php bloginfo('html_type'); ?>
Content-Type страницы: text/html.

<?php bloginfo('language'); ?>
Локальный язык сайта.

<?php bloginfo('version'); ?>
Версия WordPress.

<?php bloginfo('rss2_url '); ?>
URL фида: /feed.

<?php bloginfo('comments_rss2_url'); ?>
URL фида комментов: /comments/feed.

<?php bloginfo('admin_email'); ?>
E-mail Админа.
<?php bloginfo('pingback_url'); ?>
URL уведомлений на файл xmlrpc.php.

<?php bloginfo('rdf_url'); ?>
URL RDF/RSS 1.0 фида (/feed/rfd).

<?php bloginfo('rss_url'); ?>
URL RSS 0.92 фида (/feed/rss).

<?php bloginfo('atom_url '); ?>
URL Atom фида (/feed/atom).

<?php bloginfo('url'); ?>
home_url().

<?php bloginfo('wpurl'); ?>
site_url().
Код меняет название у кнопки "Добавить в корзину". В functions.php прописываем:

<?php

add_filter( 'woocommerce_product_single_add_to_cart_text', 'woocommerce_custom_single_add_to_cart_text' ); function woocommerce_custom_single_add_to_cart_text() { return __( 'Название_Кнопки', 'woocommerce' ); }
Код меняет название у кнопки "Добавить в корзину" на странице archive-product.php. В functions.php прописываем:

<?php
add_filter( 'woocommerce_product_add_to_cart_text', 'woocommerce_custom_product_add_to_cart_text' ); function woocommerce_custom_product_add_to_cart_text() { return __( ' Название_Кнопки ', 'woocommerce' );}
in_the_loop()
Проверяет активен ли цикл WordPress.

have_posts()
Проверяет есть ли записи для вывода.

the_post()
Устанавливает следующий пост в цикле и global $post.

setup_postdata()
Устанавливает global $post.

the_ID()
Выводит ID текущего поста.
the_title()
Выводит заголовок текущей записи.

the_title_attribute()
Выводит заголовок записи для атрибута html тега.

the_content()
Выводит контент записи.

the_excerpt()
Выводит отрывок записи, со вставкой в конце [...].

the_excerpt_rss()
Выводит отрывок (цитату) (для RSS).
get_permalink()
Получает URL записи.

the_permalink()
Выводит URL записи.

comments_number()
Выводит число комментариев записи.

edit_post_link()
Выводит ссылку (html) на редактирование поста.
 
the_date()
Выводит/получает дату публикации записи.

get_the_date()
Получает дату создания текущего поста.
Forwarded from WP-Kama.ru (campusboy)
Идея: при регистрации Типа записи и Таксономии сразу указывать, какой шаблон будет использоваться для Архива, а какой для Записи, а также сколько выводить в этом шаблоне записей.

Реализация:
https://wp-kama.ru/note/podklyuchenie-shablonov-dlya-ctp-i-tax-pri-ih-registratsii

Благодаря такому подходу, вы можете при регистрации указать любой свой параметр, а потом в фильтрах registered_post_type/registered_taxonomy его применить, что делает работу с WordPress ещё удобнее!
add_action( 'woocommerce_after_shop_loop_item', 'bbloomer_show_free_shipping_loop', 5 );
 
function bbloomer_show_free_shipping_loop() {
   echo '<p class="shop-badge">Бесплатная доставка</p>';
}
Прописывается в functions.php:
add_filter( 'wc_add_to_cart_message_html', '__return_null' );
Прописывается в functions.php:
add_filter( 'wc_add_to_cart_message_html', 'bbloomer_custom_add_to_cart_message' );
 
function bbloomer_custom_add_to_cart_message() {
   $message = 'свой_текст_уведомления!' ;
   return $message;
}
В карточках новостей лучше выделять заголовок новости большим размером шрифта и цветом. На изображениях выше хорошо видно для чего это делается.
Aimylogic — сервис для создания чат-ботов на сайте, в соцсетях или мессенджерах

Основа платформы — визуальный no-code конструктор, для работы не требуются знания кода. В сервисе можно создавать чат-ботов, которые умеют понимать естественную речь пользователя и реагировать на нее согласно сценарию.

Доступен ежемесячный бесплатный тариф.

Попробовать!
Интересное наблюдение, сделал приложение на Next.js. Передавал данные из формы в виде JSON строки POST запросом по API на сторону бэкенда (API Wordpress`a использовал) . Почему то бэк принимал не JSON строку, а массив состоящий из ключа (та самая длинная JSON строка) и значение в виде пустой строки. Не выяснил почему так, но с помощью
json_decode(array_key_first($_POST), true);
распарсил нужную строку и отправил данные в Битрикс.

array_key_first - Получает первый ключ массива.

Может у кого есть идеи почему фронт передавал JSON сроку, а бэк принимал такой массив 👆