Ответы в темах

Просмотр 15 ответов — с 1 по 15 (всего 50)
  • Подписок или рассылок? Рассылок с уведомлениями о новых постах или с пользовательским текстом?

    на сайте должна быть форма ввода email и кнопка «подписаться».
    подписавшиеся пользователи должны получать сообщения о появлении новых постов в строго определенных категориях. Категории определяет администратор сайта.
    сообщения должны быть не тупо с информацией о новом посте, а красиво сверстанные, поэтому, нужен редактор.

    ???? Как это так — рассылать письма в посты?

    Эммм.. Вообще-то там говорится о том, что письмо с сообщением о новом посте должно приходить только когда пост был добавлен в определенную категорию, а не в любую из существующих…

    не совсем то. нужна возможность именно загружать файл, а не редактор дизайна.

    Ну и? То что Вы и хотели ж.

    в принципе да.
    это я так, вдруг в будущем что-то поменяется, и надо будет выводить на странице и товары и подкатегории.

    Можно посчитать родилей/дочек с пом get_term_children()

    сделал так:

    if(is_shop() || !empty(get_term_children(get_queried_object()->term_id, 'product_cat'))) {
        <div class="content">
            <?php do_action('styledstore-woo-archive-content'); ?>
        </div>
    }
    else {
        <div class="sidebar">
            <?php do_action('woocommerce_sidebar'); ?>
        </div>
        <div class="content">
            <?php do_action('styledstore-woo-archive-content'); ?>
        </div>
    }

    работает, при условии, что на странице нет одновременно товаров и подкатегорий.
    если включить в настройках вывод подкатегорий и товаров на одной странице, то работает не корректно, т.к. функция get_term_children() возвращает не пустой результат

    И при каких условиях там не может быть «товаров»? Вот когда определите эти условия — тогда и решите задачу.

    там не может быть товаров, если это не конечная категория и в настройках отключен вывод подкатегорий и товаров на одной странице.
    только вот как это выразить в условии?

    Может не нужно придумывать себе трудностей, а просто настроить это в настройках (теперь это в кастомайзере.)?

    Прекрасно. Я в курсе и настроил.
    А теперь, как проверить, есть ли на странице товары?

    это нужно для того, чтобы отключать вывод сайдбара, если нет товаров на странице.
    т.е.,

    if(товары) {
        <div class="sidebar">
            <?php do_action('woocommerce_sidebar'); ?>
        </div>
        <div class="content">
            <?php do_action('styledstore-woo-archive-content'); ?>
        </div>
    }
    else {
        <div class="content">
            <?php do_action('styledstore-woo-archive-content'); ?>
        </div>
    }

    если есть другой способ реализации, буду признателен

    • Ответ изменён 12 мес. назад пользователем denism300.

    Решение ниже, <п 13 правил форума>

    class My_Walker_Mob_Menu extends Walker_Nav_Menu {
        function start_lvl(&$output, $depth = 0, $args = Array()) {
            $indent = str_repeat("\t", $depth);
            $output .= "\n$indent<ul class=\"dropdown-menu\">\n";
        }
    		
        function start_el(&$output, $item, $depth, $args) {
            // назначаем классы li-элементу и выводим его
            $class_names = join( ' ', $item->classes );
            $class_names = ' class="' .esc_attr( $class_names ). '"';
            $output.= '<li id="menu-item-' . $item->ID . '"' .$class_names. '>';
    
            // назначаем атрибуты a-элементу
            $attributes.= !empty( $item->url ) ? ' href="' .esc_attr($item->url). '"' : '';
            $item_output = $args->before;
    
            // проверяем, есть ли класс menu-item-has-children и, если есть, модифицируем ссылку
            if (strpos($class_names, 'menu-item-has-children')) 
                $item_output.= '<a'. $attributes .'>'.$item->title.'<span></span></a>';
            else 
                $item_output.= '<a'. $attributes .'>'.$item->title.'</a>';
    
            // заканчиваем вывод элемента
            $item_output.= $args->after;
            $output.= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
        }
    }
    • Ответ изменён 12 мес. назад пользователем Yui. Причина: п13

    ааа…. вы в очередной раз строите костыльный велосипед, путем создания «своей темы»?

    я в очередной раз пытаюсь попросить помощи в решении вопроса, однако <однако уважаем других и правила форума>

    • Ответ изменён 12 мес. назад пользователем Yui. Причина: диагнозы ставит врач, уважайте других форумчан

    вы как—то определитесь: «стандартное» или «делаю так»?
    если стандартное, то что значит «делаю так»?
    в любой теме «так» уже все сделано

    что конкретно не понятно?
    есть меню, сделанное в админке. далее, я записываю меню, предварительно обработанное My_Walker_Nav_Menu, а так же, с учетом необходимых параметров, заданных в качестве аргументов к wp_nav_menu в переменную $mobile_menu, затем, в нужном месте шаблона я вывожу меню с помощью команды
    echo $mobile_menu;
    теперь понятно?

    меню стандарно сделанное в админке
    Делаю так:

    $mobile_menu = wp_nav_menu(
    	array(
    		'theme_location'=> 'mobile-menu',
    		'menu_id'       => 'mobile-menu',
    		'menu_class'	=> 'navbar',
    		'fallback_cb'	=> 'wp_page_menu',
    		'echo'		=> false,
    		'walker' 	=> new My_Walker_Nav_Menu()
    	)
    ); 

    вывожу так:
    echo $mobile_menu;

    My_Walker_Nav_Menu вот

    class My_Walker_Nav_Menu extends Walker_Nav_Menu {
    	function start_lvl(&$output, $depth = 0, $args = Array()) {
    		$indent = str_repeat("\t", $depth);
    		$output .= "\n$indent<ul class=\"dropdown-menu\">\n";
    	}
    }

    добавить в код меню
    <span>что-то тут</span>

    спасибо, о Капитан Очевидность!
    а как добавить? я, пока что с Walker не совсем разобрался, поэтому и спрашиваю

    скажите тому, кто дал вам задание, что его СЕОшарлатаны просто разводят на бабки

    почему? большинство сеошников сходятся во мнении, что чпу ссылки лучше для ранжирования сайта, в частности, для яндекса.

    юзвери — должны юзать.
    А редактировать что-либо — прерогатива специально обученных людей, в данном случае — админа сайта.

    этот момент мы опустим.
    есть довольно таки конкретно сформулированный вопрос.
    если подобное можно реализовать средствами WP, то хотелось бы решение.

    проще. но потом юзверям придется не забывать редактировать и его тоже…

    вчера плюнул на все, ушел спать, а сегодня заработало.

Просмотр 15 ответов — с 1 по 15 (всего 50)