Ответы пользователя по тегу WordPress
  • Woocommerce почему корзина не обновляется при выборе метода оплаты?

    @max3wq
    Попробуйте
    jQuery( function( $ ) {
    "use strict";
    $('body').on('change', 'input[name="payment_method"]', function() {
    $('body').trigger('update_checkout');
    });
    });
    Ответ написан
    Комментировать
  • Wordpress + Woocommerce где найти шаблон категории?

    @max3wq
    Здравствуйте, скорее всего если archive-product.php не принимает изменений в шаблоне есть файл woocommerce.php, но это не важно, просто открываем /wp-content/plugins/woocommerce/templates/archive-product.php
    Смотрим название интересующей позиции и ее номер, и в functions.php вставляем то что нужно добавить в шаблон категории.

    //Добавление чего либо перед товарами
    add_action( 'woocommerce_before_shop_loop', 'add_my_f', 5);
    function add_my_f() {
    echo ('111'); 
    }
    Ответ написан
    Комментировать
  • Как удалить /feed/ в wordpress?

    @max3wq
    Почему? Все работает. Я только что убирал из одного сайта.
    в function.php

    //Отключаем фид новостей
    function disable_feed() {
        wp_redirect( get_option( 'siteurl' ) );
    }
    add_action( 'do_feed', 'disable_feed', 1 );
    add_action( 'do_feed_rdf', 'disable_feed', 1 );
    add_action( 'do_feed_rss', 'disable_feed', 1 );
    add_action( 'do_feed_rss2', 'disable_feed', 1 );
    add_action( 'do_feed_atom', 'disable_feed', 1 );
    remove_action( 'wp_head', 'feed_links_extra', 3 );
    remove_action( 'wp_head', 'feed_links', 2 );
    remove_action( 'wp_head', 'rsd_link' );
    Ответ написан
    Комментировать
  • Где в WP подключается родной jquery?

    @max3wq
    WP 5.6
    wp-includes/functions.wp-scripts.php

    function wp_deregister_script( $handle ) {
    	_wp_scripts_maybe_doing_it_wrong( __FUNCTION__, $handle );
    
    	/**
    	 * Do not allow accidental or negligent de-registering of critical scripts in the admin.
    	 * Show minimal remorse if the correct hook is used.
    	 */
    	$current_filter = current_filter();
    	if ( ( is_admin() && 'admin_enqueue_scripts' !== $current_filter ) ||
    		( 'wp-login.php' === $GLOBALS['pagenow'] && 'login_enqueue_scripts' !== $current_filter )
    	) {
    		$not_allowed = array(
    			'jquery',
    			'jquery-core',
    			'jquery-migrate',
    			'jquery-ui-core',
    			'jquery-ui-accordion',
    			'jquery-ui-autocomplete',
    			'jquery-ui-button',
    			'jquery-ui-datepicker',
    			'jquery-ui-dialog',
    			'jquery-ui-draggable',
    			'jquery-ui-droppable',
    			'jquery-ui-menu',
    			'jquery-ui-mouse',
    			'jquery-ui-position',
    			'jquery-ui-progressbar',
    			'jquery-ui-resizable',
    			'jquery-ui-selectable',
    			'jquery-ui-slider',
    			'jquery-ui-sortable',
    			'jquery-ui-spinner',
    			'jquery-ui-tabs',
    			'jquery-ui-tooltip',
    			'jquery-ui-widget',
    			'underscore',
    			'backbone',
    		);
    
    		if ( in_array( $handle, $not_allowed, true ) ) {
    			$message = sprintf(
    				/* translators: 1: Script name, 2: wp_enqueue_scripts */
    				__( 'Do not deregister the %1$s script in the administration area. To target the front-end theme, use the %2$s hook.' ),
    				"<code>$handle</code>",
    				'<code>wp_enqueue_scripts</code>'
    			);
    			_doing_it_wrong( __FUNCTION__, $message, '3.6.0' );
    			return;
    		}
    	}
    
    	wp_scripts()->remove( $handle );
    }
    Ответ написан
    Комментировать
  • Как при выборе разных методов доставки изменять поля для оформления заказа в woocommerce?

    @max3wq
    Здравствуйте, как вариант сделать поля не обязательными, и менять видимость полей при нажатии:

    jQuery("#id кнопки вашего метода доставки например shipping_method_0_flat_rate-3 или как у вас будет в коде называтся").toggleClass('hidden');


    и стиль .hidden {display:none;}
    Ответ написан
    Комментировать
  • Возможно ли на уровне шаблона подключить меню с другой БД Wordpress?

    @max3wq Автор вопроса
    Спасибо, это частично сократит работу по созданию одного меню через WP + распротранить его html копии на 4 остальных сайта посредством include( '/file.php' );
    Ответ написан
    Комментировать
  • Как вывести текст из админки wordpress?

    @max3wq
    Здравствуйте, у меня идея такая - ставите плагин amr shortcode any widget, создаете текстовый виджет с заголовком, копируете его шорткод и потом
    <?php echo do_shortcode("[Shortcode]"); ?>

    Ставите в нужное место слайдера
    Ответ написан
    2 комментария
  • Как правильно отобразить html в WordPress?

    @max3wq
    Попробуйте так

    <div class="golova1">Еще статьи по данной теме:</div>                           
    <div class="r-posts">
    <?php $categories = get_the_category($post->ID);
    if ($categories) {
     $category_ids = array();
     foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
     $args=array(
     'category__in' => $category_ids, // Выбор по категориям
     'orderby'=>rand, // Случайный подбор постов
     'caller_get_posts'=>1); // Запрещает повторение ссылок
     'post__not_in' => array($post->ID),
     'showposts'=>5, // Число, которое можно изменить, означает количество выводимых записей
     $my_query = new wp_query($args);
     if( $my_query->have_posts() ) {
    echo '<ul>';
            while ($my_query->have_posts()) {
                $my_query->the_post();
            ?>
                <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
            <?php
            }
            echo '</ul>';
        }
    wp_reset_query();
    }
    ?></div>
    Ответ написан
    Комментировать
  • Как изменить select вариации в WooCommerce?

    @max3wq
    Здравствуйте, можно обратится к нему по значению или по ID

    jQuery("#my_select [value='2']").addClass( "myClass yourClass" ); //Назначить класс выбраному селекту
    Ответ написан
  • Как сделать поддомены городов и метатеги через шорткоды для каждого города в wordpress?

    @max3wq
    Вы можете влиять на формирование мета тегов через функции.
    Автоматическое создание мета-описания Meta Description из The_content
    Вставка этого фрагмента кода в файл functions.php вашей WordPress темы автоматически создаст meta description из вашего поста, отсекая шорткоды и теги. Также убедитесь, что у вас есть этот код в файле header.php, иначе этот фрагмент не будет работать.
    function create_meta_desc() {
        global $post;
        if (!is_single()) { return; }
        $meta = strip_tags($post->post_content);
        $meta = strip_shortcodes($post->post_content);
        $meta = str_replace(array("n", "r", "t"), ' ', $meta);
        $meta = substr($meta, 0, 125);
        echo "<meta name='description' content='$meta' />";
    }
    add_action('wp_head', 'create_meta_desc');


    Только вместо $post получайте свой массив данные от куда вы будете брать список городов.
    Потом вокруг
    echo "<meta name='description' content='$meta' />";
    оберните это в текст
    echo "<meta name='description' content=' \"текст до города\" . $meta . ' /> " . \"текст после города\";
    Ответ написан
  • Тормозит wordpress. Какая может быть ошибка в этом коде?

    @max3wq
    Очень хороший метод узнать что грузит - использовать бесплатный плагин query-monitor. Он вам покажет какой файл шаблона и какая функция генерит долгое время загрузки. Медленные запросы к БД, скрипты и многое другое.
    Ответ написан
    Комментировать
  • Что с файлом archive-product.php в woocommerce?

    @max3wq
    Скорее всего у Вас самописная тема (вместо archive-product.php тянет файл page.php), чтобы заработал archive-product.php, необходимо в functions.php вставить код чтобы обьявить поддержку в теме:

    <?php
    add_action( 'after_setup_theme', 'woocommerce_support' );
    function woocommerce_support() {
        add_theme_support( 'woocommerce' );
    } ?>


    Потом создать в корне темы файл woocommerce.php под ваш шаблон, с содержимым к примеру:

    <?php
    /**
     * Шаблон обычной страницы (page.php)
     * @package WordPress
     */
    get_header(); // подключаем header.php ?>
    <section>
    	<div class="container">
    		<div class="row">
    		<?php get_sidebar(); // подключаем sidebar.php ?>
    			<div class="<?php content_class_by_sidebar(); // функция подставит класс в зависимости от того есть ли сайдбар, лежит в functions.php ?>">
    				<?php woocommerce_breadcrumb(); ?>
    				<?php woocommerce_content(); ?>
    			</div>
    
    		</div>
    	</div>
    </section>
    <?php get_footer(); // подключаем footer.php ?>


    Потом уже в папке с темой папку woocommerce, в нее скинуть archive-product.php и в нем уже будут приниматся все ваши изменения.
    Ответ написан
    Комментировать