Ответы пользователя по тегу WordPress
  • Как не дать скопировать свой сайт на wordpress?

    @Legal2019
    Всё в имени моём... и радость и печаль...
    А нужно ли этим заморачиваться?
    Если да, то самый простой выход (на мой взгляд) отслеживать, а затем через суд либо блочить сайт, либо взыскивать авторские. Это немного может быть сложнее, но зато можно подзаработать)))
    Ответ написан
    Комментировать
  • Как слайды в amp-carousel сделать ссылками?

    @Legal2019
    Всё в имени моём... и радость и печаль...
    Наверное каждое
    <amp-img src="/static/samples/img/image1.jpg" width="400" height="300" alt="a sample image"></amp-img>
    обернуть в <a>
    Ответ написан
    Комментировать
  • Как выводить данные постов ACF Wordpress?

    @Legal2019
    Всё в имени моём... и радость и печаль...
    У плагина есть официальная страничка с примерами. Там всё наглядно и вроде понятно.
    Ответ написан
    Комментировать
  • Как добавить количество записей в термах?

    @Legal2019 Автор вопроса
    Всё в имени моём... и радость и печаль...
    Хм... иногда бывает, что сам на пустом месте создаёшь проблему...
    Толи старость не радость - толи тупость и глупость ))) А может и всё сразу))
    Просто раньше не обращал на это внимание, а пару дней назад обратил. Искал проблему пару дней... и тут меня осенило )) решил глянуть вкладку "настройки экрана" ))
    Оказывается иногда нужно просто расслабиться искать ответ на поверхности ))
    61444df5f26af108832062.jpeg
    Ответ написан
    Комментировать
  • Делал на word press сайт и не понимаю, как можно сделать ровные блоки?

    @Legal2019
    Всё в имени моём... и радость и печаль...
    Фактически не использую в гутерберге или как его там)) всё что есть. Сделал шаблон и навёл красоту CSS, прикрутил ACF. Далее просто ввожу то, что нужно. И вуаля))
    Но к этому вопросу подходя нужно было изучить кое-что)))
    Ответ написан
    Комментировать
  • Как реализовать заголовок поста и в форме для связи в заголовке с учётом падежа?

    @Legal2019 Автор вопроса
    Всё в имени моём... и радость и печаль...
    Решил поделиться своим решением.
    Искал различные решения своего вопроса, но когда проанализировал всё что смог найти решение пришло само по себе, так сказать случайно.
    У меня получилось три варианта решения:
    1. Написать код в котором предусмотреть правило русского языка (падежи, склонения, разбор по частям речи и т.д.)
    Резюме: долго и далеко не просто.
    2. Написать код используя (для wordpress):
    - произвольные поля;
    - шоткод;
    - создать шаблон.
    Резюме: не очень долго, но гораздо проще по сравнению с предыдущим вариантом.
    3. Используя CF7 + ACF написать в шаблонах пару кодов для вывода шорткода.
    Резюме: быстро, гораздо проще по сравнению с предыдущими вариантами.

    Резюмируя всё скажу так:
    Учитывая тот факт, что плагин ACF автоматом отрубает стандартные настройки вывода произвольных полей, а также в связи с тем, что на своём сайте у меня стоят плагины CF7 + ACF, то решил сделать именно по п. 3 следующим образом (конкретно для своего шаблона):
    1. В файле, где у меня собраны только шоткоды, но можно и загнать в function.php, создал shortcode для вывода его в нужном месте sidebar.
    2. В CF7 создал форму для связи которая помещена в sidebar через шоткод (см. п. 1).
    3. В ACF создал произвольные поля, которые выводятся в таксономии при создании одиночной записи и по умолчанию включил конкретный текст для автоматической публикации заголовка формы. Если возникает необходимость изменить текст по умолчанию - просто его меняю и он меняется для конкретной записи в форме для связи.
    4. В шоткоде (см. п. 1) включил ключ произвольного поля созданного в ACF и шоткод из CF7.
    В итоге:
    На нужной одиночной записи таксономии через заранее созданный шаблон (к примеру: single-doc.php) выводится два основных блока: article + sidebar. Соответственно в article находится главный заголовок (к примеру: <h1>дохлые мухи</h1>) и сама статья, а в sidebar - оглавление для всей статьи и форма для связи с заголовком (к примеру: <h2>Узнать больше о дохлых мухах</h2>).
    P.S. "Безусловно, для людей профессионально занимающимся программированием это уже не новость, но для таких как я (любителей) может будет полезно такое решение ;-) "
    Единственное что пока не могу понять может ли как-то повлиять на продвижение наличие оглавления к статье, если оно не внутри article, а в sidebar? (Но этот вопрос задам отдельно)
    Ответ написан
    Комментировать
  • Как сделать такую пагинацию?

    @Legal2019
    Всё в имени моём... и радость и печаль...
    У ВП по умолчанию она есть, а вот сделать так, как на картинке - помогут знания css. Про пагинацию официально.
    Ответ написан
    Комментировать
  • Не работает форма поиска wordpress кроме главной страницы?

    @Legal2019
    Всё в имени моём... и радость и печаль...
    Посмотрите реализацию в любой теме ВП поиска. У него обычно несколько файлов есть (когда что-то найдено, не найдено).
    В нужном месте вставьте:
    <?php get_search_form(); ?>
    А по сути тут всё хорошо описано.
    Ответ написан
    Комментировать
  • Как вывести tag записи в категории товаров?

    @Legal2019
    Всё в имени моём... и радость и печаль...
    А чем не устраивает вывод поумолчанию виджетом? Сделайте в функциональном файле идентично вывод нового виджета. В нужном месте вашего шаблона выставьте код вывода этого виджета, присвойте нужные классы. И прибудет вам счастье.
    Зачем нагружать ВП иными плагинами?
    Ответ написан
  • Как сменить сортировку wordpress?

    @Legal2019
    Всё в имени моём... и радость и печаль...
    сменить
    'order' => 'ASC',

    на
    'order' => 'DESC',
    А лучше почитать про get_posts. Иногда помогает и простое чтение ;-)
    Пардон, не дочитал пост до конца))
    Вот ответ:
    Ознакомиться и внимательно почитать про тут и тут.
    и попробовать использовать:
    'category_name' = 'vasia',
    Ответ написан
    Комментировать
  • Как строить иерархию в Wordpress?

    @Legal2019
    Всё в имени моём... и радость и печаль...
    У себя реализовывал почти тоже самое так:
    1. Таксономия
    2. Категории таксономии
    3. Метки таксономии
    Итого получилось:
    ...ру/таксономия/категория/запись
    соответственно и:
    ...ру/таксономия/метка/запись
    Что-то типа того.
    На главной страницы таксономии вывод в виде:
    ...ру/таксономия
    1. Заголовок категории
    1.1. Название записи
    1.2. Картинка записи
    1.3. Краткий текст записи
    2. Заголовок категории
    2.1. Название записи
    2.2. Картинка записи
    2.3. Краткий текст записи
    Внутри записей вывод названий меток.
    Ответ написан
    Комментировать
  • Хлебные крошки работают некорректно?

    @Legal2019
    Всё в имени моём... и радость и печаль...
    Можно яст сео поставить и пользоваться его крошками и подгонять сео одновременно.
    Ответ написан
    Комментировать
  • Wordpress в 2к20, ожидание vs реальность?

    @Legal2019
    Всё в имени моём... и радость и печаль...
    Не обольщайся дружище. В своё время, я, набираясь опыта думал, что через год я пойду по направлению по которому набираюсь практики и всё будет отлично. Я видел хорошие зп в этом направлении... но пока набирался связей, опыта и реализовывал себя, через год всё поменялось и вот уже почти 20 лет никаких изменений в той области. А жизнь заставила заниматься несколько иным направлением.
    Просто пробуй, делай на отлично. А жизнь сама всё расставит по нужным местам.
    Ответ написан
    Комментировать
  • Как сменить телефон на WordPress из get_option()?

    @Legal2019
    Всё в имени моём... и радость и печаль...
    Из логики вещей могу предположить, что искать нужно 'templatesquare_phone', т.е. где-то у вас должен быть шаблон. Может быть в js, если есть маска ввода телефона. А ссылку на сайт можно?
    Ответ написан
    Комментировать
  • Почему 404 при переходе на другую страницу?

    @Legal2019 Автор вопроса
    Всё в имени моём... и радость и печаль...
    Лечение:
    Обновление постоянных ссылок в самом WP
    Ответ написан
    Комментировать
  • Как сделать вывод постов после последнего вывода термы?

    @Legal2019 Автор вопроса
    Всё в имени моём... и радость и печаль...
    А вот и долгожданное, собственное решение:
    <nav class="main-navigation">
        <?php
            $term_slug = get_query_var('term');
            $taxonomy = get_query_var('taxonomy');
            $term = get_term_by( 'slug', $term_slug, $taxonomy );
            $terms = get_terms($taxonomy, array(
                'hide_empty'        => 0,//true=1, false=0,
                'hierarchical'      => 1,//true=1, false=0,
                //'childless'     => true,
                //'child_of'          => $term->term_id,
                'parent'            => $term->term_id,
                ) );
            $mytax_query = array(
                    array(
                        'taxonomy' => $taxonomy,
                        'field' => 'slug',
                        'terms' => $term_slug,
                        'include_children' => true
                    )
                );
    
            $posts = get_posts( array(
                'post_type'   => 'notary',
                'numberposts'   => -1,
                //'order'         => 'asc',
                'tax_query'     => $mytax_query
            ) );
        
            if ( !empty( $terms ) && !is_wp_error( $terms ) ) {
                    echo '<div><ul>';
                    //. '        <p>ссылки на дочки <strong>'.$term_slug.'</strong>:</p>';
                    foreach ($terms as $term) {
                            echo '<li><a href="' . get_term_link( $term ) . '" title="' . sprintf(__('View all post filed under %s', 'my_localization_domain'), $term->name) . '">' . $term->name . '</a></li>';
                            }
                    echo '</ul></div>';
                    } elseif (term_exists($term->term_id)) {
                            echo '<div><ul>';
                            //. '        <p>ссылки на посты в дочках <strong>'.$term_slug.'</strong>:</p>';
                            foreach ($posts as $post){
                                    setup_postdata($post); ?>
                                  <li class=""><?php echo '<a href="'. get_permalink( $post->ID ) .'">'. $post->post_title .'</a>';?></li>
                                    <?php
                            }
                            echo '</ul></div>';
                    }
            wp_reset_postdata();
            ?>
        </nav>
    Ответ написан
    Комментировать
  • Таксономия, как лучше сделать вывод?

    @Legal2019 Автор вопроса
    Всё в имени моём... и радость и печаль...
    Ура!!!
    Пробороздив инет бескрайний,
    И не мало времени грызя гранит науки
    Я всё таки с умел достичь того, к чему стремился...
    И вот готовое решение. Всего один файл нужной таксономии и теперь выводятся поочерёдно все ссылки термы (родитель->дочка->дочка), а в конце последней дочерней термы ссылка на привязанный пост.
    <nav class="main-navigation">
        <?php
            $term_slug = get_query_var('term');
            $taxonomy = get_query_var('taxonomy');
            $term = get_term_by( 'slug', $term_slug, $taxonomy );
            $terms = get_terms($taxonomy, array(
                'hide_empty'        => 0,//true=1, false=0,
                'hierarchical'      => 1,//true=1, false=0,
                //'childless'     => true,
                //'child_of'          => $term->term_id,
                'parent'            => $term->term_id,
                ) );
            $mytax_query = array(
                    array(
                        'taxonomy' => $taxonomy,
                        'field' => 'slug',
                        'terms' => $term_slug,
                        'include_children' => true
                    )
                );
    
            $posts = get_posts( array(
                'post_type'   => 'notary',
                'numberposts'   => -1,
                //'order'         => 'asc',
                'tax_query'     => $mytax_query
            ) );
        
            if ( !empty( $terms ) && !is_wp_error( $terms ) ) {
                    echo '<div><ul>';
                    //. '        <p>ссылки на дочки <strong>'.$term_slug.'</strong>:</p>';
                    foreach ($terms as $term) {
                            echo '<li><a href="' . get_term_link( $term ) . '" title="' . sprintf(__('View all post filed under %s', 'my_localization_domain'), $term->name) . '">' . $term->name . '</a></li>';
                            }
                    echo '</ul></div>';
                    } elseif (term_exists($term->term_id)) {
                            echo '<div><ul>';
                            //. '        <p>ссылки на посты в дочках <strong>'.$term_slug.'</strong>:</p>';
                            foreach ($posts as $post){
                                    setup_postdata($post); ?>
                                  <li class=""><?php echo '<a href="'. get_permalink( $post->ID ) .'">'. $post->post_title .'</a>';?></li>
                                    <?php
                            }
                            echo '</ul></div>';
                    }
            wp_reset_postdata();
            ?>
        </nav>

    P.S."Верно говорят - да осилит идущий."
    Ответ написан
    Комментировать
  • Что не так с пагинацией?

    @Legal2019 Автор вопроса
    Всё в имени моём... и радость и печаль...
    Решение оказалось весьма простым.
    Чтобы в последствии не возникало проблем с навигацией, для всех записей было принято оставить полные ссылки
    localhost:8089/category/stati/page/2

    Стандартный код работает нормально.
    P.S. "Для желающих почитать почему именно: можно почитать тут (ru.wordpress.org/support/topic/)."

    Для кастомных типов записей, оказалось тоже простое решение.
    Просто в стандартном коде, на странице нужного архивного файла (taxonomy-{taxonomy}. php или taxonomy-{taxonomy}-{term}. php) в конструкции } elseif ( is_singular( 'post' ) ) { нужно указать } elseif ( is_singular( 'ваша таксономия' ) ) {
    Стандартный код для таксономии:
    <?php
    		// Start the loop.
    		while ( have_posts() ) : the_post();
                        // Include the single post content template.
                        get_template_part( 'template-parts/content-page/spravka-page', 'page' );
                        // If comments are open or we have at least one comment, load up the comment template.
                        if ( comments_open() || get_comments_number() ) {
    			comments_template();
    			}
                        if ( is_singular( 'attachment' ) ) {
                            // Parent post navigation.
                            the_post_navigation( array(
                                'prev_text' => _x( '<span class="meta-nav">Published in</span><span class="post-title">%title</span>', 'Parent post link', 'ваша тема' ),
                                ) );
    			} elseif ( is_singular( 'ваша таксономия' ) ) {
                                // Previous/next post navigation.
                                the_post_navigation( array(
                                    'next_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Next', 'ваша тема' ) . '</span> ' .
                                    '<span class="screen-reader-text">' . __( 'Next post:', 'ваша тема' ) . '</span> ' .
    				'<span class="post-title">%title</span>',
    				'prev_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Previous', 'ваша тема' ) . '</span> ' .
    				'<span class="screen-reader-text">' . __( 'Previous post:', 'ваша тема' ) . '</span> ' .
    				'<span class="post-title">%title</span>',
    				) );
                                }
    			// End of the loop.
    		endwhile;
    		?>
    Ответ написан
    Комментировать
  • Как сделать вывод термов и меток?

    @Legal2019 Автор вопроса
    Всё в имени моём... и радость и печаль...
    С некоторым количеством попыток получился такой вот код (возможно что-то не так в нём, жду обоснованной критики).
    <div style="border: 1px dashed blue; min-height: 150px;">
    <?php
    $terms = get_terms( array(
    	'taxonomy'      => array( 'services' ), // название таксономии с WP 4.5
    	'orderby'       => 'parent', // Если указать 'include', то вывод будет на основе 'include'.
    	'order'         => 'ASC',
    	'hide_empty'    => true, 
    	'object_ids'    => null,
    	'include'       => array(), // array(181, 184, 185, 188, 186, 187), Если в таком виде (ID термов), то в таком порядке и будет вывод.
    	'exclude'       => array(), 
    	'exclude_tree'  => array(), 
    	'number'        => '', 
    	'fields'        => 'all', 
    	'count'         => false,
    	'slug'          => '', 
    	'parent'         => '',
    	'hierarchical'  => false, 
    	'child_of'      => 138, //ID дочки
    	'get'           => '', // all - выводит все термины
    	'name__like'    => '',
    	'pad_counts'    => false, 
    	'offset'        => '', 
    	'search'        => '', 
    	'cache_domain'  => 'core',
    	'name'          => '',    // str/arr поле name для получения термина по нему. C 4.2.
    	'childless'     => false, // true не получит (пропустит) термины у которых есть дочерние термины. C 4.2.
    	'update_term_meta_cache' => true, // подгружать метаданные в кэш
    	'meta_query'    => '',
    ) );
    foreach( $terms as $term ){    
        echo '<div style="position:relative;"><ul class="taxonomy_uslugi_wrapper">'
        . '<li><h2><a href="'. get_term_link( $term ).'">'.$term->name.'</a></h2></li>';
        echo '<ul class="uslugi_term">';
        $query = new WP_Query( array(
            'post_status' => 'publish',
            'posts_per_page' => -1,
            'tax_query' => array(
                array(
                    'taxonomy' => 'services',
                    'field'     => 'slug',
                    'terms'     => $term->slug,
                )
            )
        ));
        while ( $query->have_posts() ) { # внутренний цикл
            $query->the_post();
            ?>
    <li class="uslugi-li"><?php echo '<a href="'. get_permalink( $post->ID ) .'" title="'. $post->post_title .'">'. $post->post_title .'</a>';?><?php echo '<a href="'. esc_url('/kontakty') .'">';?>Сделать заказ</a><span style="position: relative;left: -110px;">ID <?php the_id ($post->ID) ?></span></li>
            <?php  
        } # конец внутреннего
        echo "</ul></ul></div>";
    };?>
    <?php wp_reset_postdata();?>
        </div>


    В итоге, если мы находимся на странице http://localhost:8089/services/business/, то в шаблоне taxonomy-services-business.php выводится:
    <div style="position:relative;">
          <ul class="taxonomy_uslugi_wrapper">
               <li><h2><a href="">Название термы 1</a></h2></li>
                     <ul class="uslugi_term">
                          <li class="uslugi-li"><a href="" title="">Запись № 3 (в Название термы 1) </a><a href="">Сделать заказ</a><span style="position: relative;left: -110px;">ID 1086</span></li>
                   </ul>
            </ul>
          <ul class="taxonomy_uslugi_wrapper">
               <li><h2><a href="">Название термы 2</a></h2></li>
                     <ul class="uslugi_term">
                          <li class="uslugi-li"><a href="" title="">Запись № 1 (в Название термы 2) </a><a href="">Сделать заказ</a><span style="position: relative;left: -110px;">ID 1086</span></li>
                   </ul>
            </ul>
    </div>


    Т.е. вывод при нахождении на странице http://localhost:8089/services/business/, в шаблоне taxonomy-services-business.php такой:
    1. Поросята
    1.1. Нуф-Нуф
    1.2. Ниф-Ниф
    1.3. Наф-Наф

    2. Слова
    2.1. Слова для добра
    2.2. Слова для зла

    Где 1. Поросята и 2. Слова - термы;
    Где 1.1. Нуф-Нуф и 2.1. Слова для добра и т.п. - записи относящиеся к соответствующей термеhttp://localhost:8089/services/business/

    Только вот , так и не получилось сделать вывод меток...
    По факту получилось сделать вывод ссылок на термы и ссылок на записи привязанные к этим термам конкретной таксономии. Но в целом, именно этого я и добивался.
    Ответ написан
    Комментировать
  • Как сделать метки в произвольной записи?

    @Legal2019 Автор вопроса
    Всё в имени моём... и радость и печаль...
    А ответ оказался тут codex.wordpress.org .
    'taxonomies' => array('post_tag')
    не нужен вообще тут.
    Оказалось всё просто.
    Если хочешь таксономию, не иерархическую (как теги ("метки")) то:
    $массив args(
     'hierarchical' = > false,
     );

    Если хочешь таксономию, иерархическую (как категории ("рубрики")) то:
    $массив args(
     'hierarchical' = > true,
     );
    Ответ написан
    Комментировать