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

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

Open in Telegram

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

Show more
1 643
Subscribers
No data24 hours
-47 days
-2030 days
Posts Archive
В карточках новостей лучше выделять заголовок новости большим размером шрифта и цветом. На изображениях выше хорошо видно для
+1
В карточках новостей лучше выделять заголовок новости большим размером шрифта и цветом. На изображениях выше хорошо видно для чего это делается.

Первая часть кода. В functions.php прописываем: add_action( 'woocommerce_before_shop_loop_item_title', 'bbloomer_show_sale_pe
Первая часть кода. В functions.php прописываем: add_action( 'woocommerce_before_shop_loop_item_title', 'bbloomer_show_sale_percentage_loop', 25 );   function bbloomer_show_sale_percentage_loop() {    global $product;    if ( ! $product->is_on_sale() ) return;    if ( $product->is_type( 'simple' ) ) {       $max_percentage = ( ( $product->get_regular_price() - $product->get_sale_price() ) / $product->get_regular_price() ) * 100;    } elseif ( $product->is_type( 'variable' ) ) {       $max_percentage = 0;       foreach ( $product->get_children() as $child_id )

Скрыть поле с ценой на страницах оформления заказа и в корзине. add_filter( 'woocommerce_variable_sale_price_html', 'business
Скрыть поле с ценой на страницах оформления заказа и в корзине. add_filter( 'woocommerce_variable_sale_price_html', 'businessbloomer_remove_prices', 9999, 2 );   add_filter( 'woocommerce_variable_price_html', 'businessbloomer_remove_prices', 9999, 2 );   add_filter( 'woocommerce_get_price_html', 'businessbloomer_remove_prices', 9999, 2 );   function businessbloomer_remove_prices( $price, $product ) {    if ( ! is_admin() ) $price = '';    return $price; }

remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );

Цена вариативного товара будет отображаться по $min_price. Прописывается в functions.php: add_filter( 'woocommerce_variable_p
Цена вариативного товара будет отображаться по $min_price. Прописывается в functions.php: add_filter( 'woocommerce_variable_price_html', 'bbloomer_variation_price_format_min', 9999, 2 );   function bbloomer_variation_price_format_min( $price, $product ) {    $prices = $product->get_variation_prices( true );    $min_price = current( $prices['price'] );    $max_price = end( $prices['price'] );    $min_reg_price = current( $prices['regular_price'] );    $max_reg_price = end( $prices['regular_price'] );    if ( $min_price !== $max_price || ( $product->is_on_sale() && $min_reg_price === $max_reg_price ) ) {       $price = 'From: ' . wc_price( $min_price ) . $product->get_price_suffix();    }    return $price; }

add_filter( 'woocommerce_sale_flash', 'bbloomer_rename_sale_badge', 9999 );   function bbloomer_rename_sale_badge() { &n
add_filter( 'woocommerce_sale_flash', 'bbloomer_rename_sale_badge', 9999 );   function bbloomer_rename_sale_badge() {    return '<span class="onsale">Свой_текст</span>'; }

Устал скроллить одни и те же вакансии Frontend - разработчиков на hh? Не трать время — заходи в @JScript_jobs Здесь ты найдеш
Устал скроллить одни и те же вакансии Frontend - разработчиков на hh? Не трать время — заходи в @JScript_jobs Здесь ты найдешь: — актуальные вакансии от топов IT-индустрии (Яндекс, Сбер, Intel) и стартапов, которых нет на крупных cервисах; — зарплату от 400 тысяч и выше; — достойные предложения для джунов, мидлов и сеньеров; — предложения от зарубежных компаний с релокацией; — стажировки и обучающий контент для повышения скиллов. Цени себя и свое время — подписывайся на @JScript_jobs

remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_show_product_loop_sale_flash', 10 ); remove_action( 'w
remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_show_product_loop_sale_flash', 10 );   remove_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_sale_flash', 10 );   add_filter( 'woocommerce_sale_flash', '__return_null' );

Прописывается в functions.php: add_filter( 'wc_add_to_cart_message_html', 'bbloomer_custom_add_to_cart_message' ); function b
Прописывается в 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; }

Прописывается в functions.php: add_filter( 'wc_add_to_cart_message_html', '__return_null' );
Прописывается в functions.php: add_filter( 'wc_add_to_cart_message_html', '__return_null' );

add_filter( 'woocommerce_product_add_to_cart_text', 'bbloomer_change_select_options_button_text', 9999, 2 ); function bbloome
add_filter( 'woocommerce_product_add_to_cart_text', 'bbloomer_change_select_options_button_text', 9999, 2 );   function bbloomer_change_select_options_button_text( $label, $product ) {    if ( $product->is_type( 'variable' ) ) {       return 'Свое_название_кнопки';    }    return $label; }

add_action( 'woocommerce_after_shop_loop_item', 'bbloomer_show_free_shipping_loop', 5 ); &nbsp; function bbloomer_show_free_s
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: a
Вариации товара, которых нет в наличии, будут отображаться серым цветом в выпадающем списке. Прописывается в functions.php: add_filter( 'woocommerce_variation_is_active', 'bbloomer_grey_out_variations_out_of_stock', 10, 2 );   function bbloomer_grey_out_variations_out_of_stock( $is_active, $variation ) {     if ( ! $variation->is_in_stock() ) return false;     return $is_active; }

Показывает "Бесплатно" вместо нулевой цены. Первая часть кода: is_type( 'variable' ) ) { &nbsp;&nbsp;&nbsp;&nbsp;$prices = $p
Показывает "Бесплатно" вместо нулевой цены. Первая часть кода: <?php add_filter( 'woocommerce_get_price_html', 'bbloomer_price_free_zero', 9999, 2 );    function bbloomer_price_free_zero( $price, $product ) {   if ( $product->is_type( 'variable' ) ) {     $prices = $product->get_variation_prices( true );     $min_price = current( $prices['price'] );     if ( 0 == $min_price ) {       $max_price = end( $prices['price'] );       $min_reg_price = current( $prices['regular_price'] );       $max_reg_price = end( $prices['regular_price'] );       if ( $min_price !== $max_price ) {         $price = wc_format_price_range( 'FREE', $max_price );         $price .= $product->get_price_suffix();       } 

Показывает "Бесплатно" вместо нулевой цены. Вторая часть кода: elseif ( $product-&gt;is_on_sale() &amp;&amp; $min_reg_price =
Показывает "Бесплатно" вместо нулевой цены. Вторая часть кода: elseif ( $product->is_on_sale() && $min_reg_price === $max_reg_price ) {         $price = wc_format_sale_price( wc_price( $max_reg_price ), 'FREE' );         $price .= $product->get_price_suffix();       }  else{         $price = 'FREE';       }     }   } elseif ( 0 == $product->get_price() ) {     $price = '<span class="woocommerce-Price-amount amount">FREE</span>';   }     return $price; } ?> Прописывается в functions.php.

Repost from WP-Kama.ru
Идея: при регистрации Типа записи и Таксономии сразу указывать, какой шаблон будет использоваться для Архива, а какой для Записи, а также сколько выводить в этом шаблоне записей. Реализация: https://wp-kama.ru/note/podklyuchenie-shablonov-dlya-ctp-i-tax-pri-ih-registratsii Благодаря такому подходу, вы можете при регистрации указать любой свой параметр, а потом в фильтрах registered_post_type/registered_taxonomy его применить, что делает работу с WordPress ещё удобнее!

get_permalink() Получает URL записи. the_permalink() Выводит URL записи. comments_number() Выводит число комментариев записи.
get_permalink() Получает URL записи. the_permalink() Выводит URL записи. comments_number() Выводит число комментариев записи. edit_post_link() Выводит ссылку (html) на редактирование поста.   the_date() Выводит/получает дату публикации записи. get_the_date() Получает дату создания текущего поста.

add_filter( 'woocommerce_product_single_add_to_cart_text', 'bbloomer_add_symbol_add_cart_button_single' ); function bbloomer_
add_filter( 'woocommerce_product_single_add_to_cart_text', 'bbloomer_add_symbol_add_cart_button_single' );   function bbloomer_add_symbol_add_cart_button_single( $button ) {    $button_new = 'место_под_свой_символ-иконку' . $button;    return $button_new; }

the_title() Выводит заголовок текущей записи. the_title_attribute() Выводит заголовок записи для атрибута html тега. the_cont
the_title() Выводит заголовок текущей записи. the_title_attribute() Выводит заголовок записи для атрибута html тега. the_content() Выводит контент записи. the_excerpt() Выводит отрывок записи, со вставкой в конце [...]. the_excerpt_rss() Выводит отрывок (цитату) (для RSS).