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

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

    @max3wq
    Добрый день, добавьте в шаблон товара правила для перезаписи полей:
    public_html/components/com_jshopping/templates/default/product/product_default.php

    $document->setTitle($this->product->name.' Тайтл');
    $document->setMetaData('keywords', 'Ключи');
    $document->setMetaData('description', ' Описание');


    Если надо получить Тайтл категории
    $menu_item_title = $menu_params->get('page_title', '');
    Ответ написан
    Комментировать
  • Как отключить фильтр товаров на уровне категории?

    @max3wq
    Добрый день, можете обернуть позицию фильтров или сайдбар в условие проверки
    $category = get_queried_object();
    if($category->parent != 0) {
    //Мы в дочерних категориях
    } else {
    //Мы в корневой категории
    }
    Ответ написан
    Комментировать
  • 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' );
    Ответ написан
    Комментировать
  • Каким образом вывести определенные категории по id в Joomshopping?

    @max3wq
    Здавствуйте, делаю так - назначаю главной странице все категории магазина, потом в шаблоне по пути
    /components/com_jshopping/templates/Ваш шаблон/category/maincategory.php
    (В вашем случае возможно в category_default.php)

    Меняете содержимое на:

    <div class="jshop_list_category">
    
    
    <?php if (count($this->categories)){ ?>
    <div class = "jshop list_category">
        <?php echo ('<h2 class="subtitle">Подзаголовок</h2>');?>
     <?php foreach(JTable::getInstance("Category", "JShop")->getSubCategories(62, $ordering) as $k=>$category){?>
            <?php if ($k%$this->count_category_to_row==0) echo '<div class="clear"></div><div class="str_category">'; ?>
            <div class="jshop_categ width<?php echo round(100/$this->count_category_to_row, 0)?>">
    
              <div class = "category">
                <div class="image">
                    <a href = "<?php echo $category->category_link;?>"><img class="jshop_img" src="<?php echo $this->image_category_path;?>/<?php if ($category->category_image) echo $category->category_image; else echo $this->noimage;?>" alt="<?php echo htmlspecialchars($category->name)?>" title="<?php echo htmlspecialchars($category->name)?>" /></a>
                </div>
                <div>
                   <h2 class="category_title"><a class = "product_link" href = "<?php echo $category->category_link?>"><?php echo $category->name?></a></h2>
                   <p class = "category_short_description"><?php echo $category->short_description?></p>
                </div>
               </div>
     
            </div>    
            <?php if ($k%$this->count_category_to_row==$this->count_category_to_row-1) echo '</div>'; ?>
        <?php } ?>
            <?php if ($k%$this->count_category_to_row!=$this->count_category_to_row-1) echo '</div>'; ?>
    </div>
    <?php }?>


    Вместо 62 ставите id нужной вам категории выведет ее подкатегории с фото.
    Данный код можно повторять несколько раз меняя id и добиться красивого вывода только нужных подкатегорий.
    Ответ написан
    1 комментарий
  • Как эффективно парсить страницы?

    @max3wq
    Из готовых могу посоветовать Content Downloader
    Ответ написан
    Комментировать
  • Как вывести текст из админки 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 . ' /> " . \"текст после города\";
    Ответ написан
  • Как отобразить ошибку из Javascript в html?

    @max3wq
    Можно дописать после
    if (result == '0') {
    alert("Неверный логин или пароль");
    или Ваша переменная.

    Попрактикуйтесь с алертом, потом поставите на его место
    $('div').text(text);
    Ответ написан
    Комментировать
  • Тормозит 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 и в нем уже будут приниматся все ваши изменения.
    Ответ написан
    Комментировать