• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь «Проблемы и решения» Спросите, и отвечено будет вам.

Статус
В этой теме нельзя размещать новые ответы.

BadMotherFucker

Модератор (Core Team)
Регистрация
13 Ноя 2009
Сообщения
760
Реакции
574
Здравствуйте.
В этом топике оставляйте запросы на раскодирование шаблонов(удаление копирайта из footer.php и т.п)/плагинов и всего-всего что связанно с Wordpress.

Правила довольно просты:
- Для кода обязательно использовать тег [CODE ] (без пробела);
- Благодарности только кнопкой “Мне нравится”.

Пример оформления запроса:
Здравствуйте. Помогите расшифровать:
Код:
<?php $_F=__FILE__;$_X='Pz48IS0tIGIydHQybSBTdDFydHMgLS0+DQogICAgPGQ0diA0ZD0iYjJ0dDJtLXQ0bDUiPjwvZDR2Pg0KCTxkNHYgNGQ9ImIydHQybS0yM3QiPg0KICAgICAgICA8ZDR2IDRkPSJiMnR0Mm0iIGNsMXNzPSJ3cjFwIj4NCiAgICANCiAgICAgICAgICAgIDwzbCA0ZD0iZjUxdDNyNXMtdDFicyIgY2wxc3M9ImNsNTFyZjR4Ij4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDxsND48MSBocjVmPSIjdDFiLTYiPlIxbmQybTwvMT48L2w0PiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICA8bDQ+PDEgaHI1Zj0iI3QxYi1hIj5NMnN0IFAycDNsMXI8LzEDQoNCjwvYjJkeT4NCjwvaHRtbD4=';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>
Заранее большое спасибо.

Также советую ознакомиться с правилами раздела и форума:
Для просмотра ссылки Войди или Зарегистрируйся

За несоблюдение правил бан на месяц.
 
Последнее редактирование модератором:
Всем привет. есть сайт с гороскопами, нужно сделать поиск по дате рождения (день, месяц, год), чтобы выводились все гороскопы, подходящие под эту дату, как на Для просмотра ссылки Войди или Зарегистрируйся.

Если я правильно понимаю, то это можно сделать через дополнительные поля используя плагин ACF.

Но проблема в том, что, например, по гороскопу Рыба диапазон дат 19 февраля - 19 марта, вопрос что прописывать и как настроить эти поля чтобы можно было задать такой диапазон? Подскажите как это сделать, а то запутался уже совсем((.
попробуйте плагин WordPress Meta Data Filter & Taxonomies Filter
 
Здравствуйте. Помогите пожалуйста.
Дело в пагинации, не листаются записи, выведенные на главную страницу.
Как починить, подскажите.
Вот код:
PHP:
<?php if ( ! defined( 'WOODMART_THEME_DIR' ) ) exit( 'No direct script access allowed' );

/**
* ------------------------------------------------------------------------------------------------
* Blog shortcode
* ------------------------------------------------------------------------------------------------
*/

if( ! function_exists( 'woodmart_shortcode_blog' ) ) {
    function woodmart_shortcode_blog( $atts ) {
        $parsed_atts = shortcode_atts( array(
            'post_type'  => 'post',
            'include'  => '',
            'custom_query'  => '',
            'taxonomies'  => '',
            'pagination'  => '',
            'parts_media'  => true,
            'parts_title'  => true,
            'parts_meta'  => true,
            'parts_text'  => true,
            'parts_btn'  => true,
            'items_per_page'  => 12,
            'offset'  => '',
            'orderby'  => 'date',
            'order'  => 'DESC',
            'meta_key'  => '',
            'exclude'  => '',
            'class'  => '',
            'ajax_page' => '',
            'img_size' => 'medium',
            'blog_design'  => 'default',
            'blog_carousel_design' => 'masonry',
            'blog_columns'  => woodmart_get_opt( 'blog_columns' ),
            'blog_spacing'  => woodmart_get_opt( 'blog_spacing' ),
            'speed' => '5000',
            'slides_per_view' => '3',
            'wrap' => '',
            'autoplay' => 'no',
            'hide_pagination_control' => '',
            'hide_prev_next_buttons' => '',
            'lazy_loading' => 'no',
            'scroll_carousel_init' => 'no',
            'scroll_per_page' => 'yes',
            'search' => '',
        ), $atts );

        extract( $parsed_atts );

        $encoded_atts = json_encode( $parsed_atts );

        $is_ajax = ( defined( 'DOING_AJAX' ) && DOING_AJAX );

        $output = '';

        $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;

        $id = uniqid();

        if( $ajax_page > 1 ) $paged = $ajax_page;

        $args = array(
            'post_type' => 'post',
            'post_status' => 'publish',
            'paged' => $paged,
            'posts_per_page' => $items_per_page
        );

        if( $post_type == 'ids' && $include != '' ) {
            $args['post__in'] = array_map('trim', explode(',', $include) );
        }

        if( ! empty( $exclude ) ) {
            $args['post__not_in'] = array_map('trim', explode(',', $exclude) );
        }

        if( ! empty( $taxonomies ) ) {
            $taxonomy_names = get_object_taxonomies( 'post' );
            $terms = get_terms( $taxonomy_names, array(
                'orderby' => 'name',
                'include' => $taxonomies
            ) );

            if( ! is_wp_error( $terms ) && ! empty( $terms ) ) {
                $args['tax_query'] = array( 'relation' => 'OR' );
                foreach ( $terms as $key => $term ) {
                    $args['tax_query'][] = array(
                        'taxonomy' => $term->taxonomy,
                        'field' => 'slug',
                        'terms' => array( $term->slug ),
                        'include_children' => true,
                        'operator' => 'IN'
                    );
                }
            }
        }

        if( ! empty( $order ) ) {
            $args['order'] = $order;
        }

        if( ! empty( $offset ) ) {
            $args['offset'] = $offset;
        }

        if( ! empty( $meta_key ) ) {
            $args['meta_key'] = $meta_key;
        }

        if( ! empty( $orderby ) ) {
            $args['orderby'] = $orderby;
        }
     
        if ( ! empty( $search ) ) {
            $args['s'] = sanitize_text_field( $search );
        }

        $blog_query = new WP_Query( $args );
     
        ob_start();

        woodmart_set_loop_prop( 'blog_type', 'shortcode' );
        woodmart_set_loop_prop( 'blog_design', $blog_design );
        woodmart_set_loop_prop( 'img_size', $img_size );
        woodmart_set_loop_prop( 'blog_columns', $blog_columns );
        woodmart_set_loop_prop( 'woodmart_loop', 0 );
        woodmart_set_loop_prop( 'parts_title', $parts_title );
        woodmart_set_loop_prop( 'parts_meta', $parts_meta );
        woodmart_set_loop_prop( 'parts_text', $parts_text );
        woodmart_set_loop_prop( 'parts_media', $parts_media );
     
        if ( $blog_design == 'carousel' ) {
            woodmart_set_loop_prop( 'blog_design', $blog_carousel_design );
        }

        $parsed_atts['custom_sizes'] = apply_filters( 'woodmart_blog_shortcode_custom_sizes', false );

        if( ! $parts_btn ) woodmart_set_loop_prop( 'parts_btn', false );

        if( $blog_design == 'carousel' ) {
            return woodmart_generate_posts_slider( $parsed_atts, $blog_query );
        } else {

            if ( $lazy_loading == 'yes' ) {
                woodmart_lazy_loading_init( true );
            }

            if ( $blog_design == 'masonry' || $blog_design == 'mask' ) {
                $class .= ' masonry-container';
                woodmart_enqueue_script( 'isotope' );
                woodmart_enqueue_script( 'woodmart-packery-mode' );
                $class .= ' woodmart-spacing-' . $blog_spacing;
                $class .= ' row';
            }

            $class .= ' blog-pagination-' . $pagination;

            if( ! $is_ajax ) echo '<div class="woodmart-blog-holder blog-shortcode ' . esc_attr( $class ) . '" id="' . esc_attr( $id ) . '" data-paged="1" data-atts="' . esc_attr( $encoded_atts ) . '" data-source="shortcode">';

            while ( $blog_query->have_posts() ) {
                $blog_query->the_post();

                get_template_part( 'content' );
            }

            if( ! $is_ajax ) echo '</div>';

            if ( $blog_query->max_num_pages > 1 && ! $is_ajax && $pagination ) {
                ?>
                    <div class="blog-footer">
                        <?php if ( $pagination == 'infinit' || $pagination == 'more-btn' ): ?>
                            <a href="#" data-holder-id="<?php echo esc_attr( $id ); ?>" rel="nofollow" class="btn woodmart-load-more woodmart-blog-load-more load-on-<?php echo 'more-btn' === $pagination ? 'click' : 'scroll'; ?>"><span class="load-more-label"><?php esc_html_e( 'Load more posts', 'woodmart' ); ?></span><span class="load-more-loading"><?php esc_html_e( 'Loading...', 'woodmart' ); ?></span></a>
                        <?php else: ?>
                            <?php query_pagination( $blog_query->max_num_pages ); ?>
                        <?php endif ?>
                    </div>
                <?php
            }

        }

        wp_reset_postdata();

        woodmart_reset_loop();

        if ( $lazy_loading == 'yes' ) {
            woodmart_lazy_loading_deinit();
        }
     
        $output .= ob_get_clean();

        if( $is_ajax ) {
            $output =  array(
                'items' => $output,
                'status' => ( $blog_query->max_num_pages > $paged ) ? 'have-posts' : 'no-more-posts'
            );
        }

        return $output;

    }
}
 

Вложения

  • 2020-08-17_160734.jpg
    2020-08-17_160734.jpg
    83,5 KB · Просмотры: 7
Как добиться идеального чпу с тегоми?

Создан произвольный тип записи, где добавлена одна таксономия, как категория. Также созданы правила перезаписи, для отображения полной структуры ЧПУ, например:
номе/post-type/term-parent/term-child/post-name

Пытаюсь добавить, вторую таксономию, как теги, но чтобы я не делал, возникает 404 ошибка, либо структура ссылок ломается.

Как это сделать правильно?
PHP:
<?php
/*
* Plugin Name: MOD
* Description: DEV
*/

/**
* mod_cpt_services() -------------------- Создание произвольного типа записи.
*
* * cpt_services ------------------------ Регистрация типа записи.
* * cpt_services_cat -------------------- Регистрация таксономии, как категорий.
* * cpt_services_tag -------------------- Регистрация таксономии, как тега.
*
* permalink_services_cat() -------------- Структура ссылок для категорий.
* rewrite_rules_services_cat() ---------- Генерация правил перезаписи ссылок для категорий.
*
* permalink_services_tag() -------------- Структура ссылок для тегов.
* rewrite_rules_services_tag() ---------- Генерация правил перезаписи ссылок для тегов.
*
* reset_rewrite_rules() ----------------- Сброс правил перезаписи при создании/удалении/изменении категорий и тегов.
*/

# mod_cpt_services()
# 1
add_action('init', 'mod_cpt_services', 0);
function mod_cpt_services()
{
  # cpt_services
    register_post_type('cpt_services', array(
        'labels'        => array('name' => 'Услуги',),
        'public'        => true,
        'menu_position' => 100,
    'menu_icon'     => 'dashicons-category',
        'rewrite'       => array('slug' => 'services', 'with_front' => false),
        'supports'      => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'page-attributes', 'post-formats'),
        'query_var'     => true,
        'show_in_rest'  => true,
    ));
  # cpt_services_cat
    register_taxonomy('cpt_services_cat', array('cpt_services'), array(
        'labels'        => array( 'name' => 'Категории услуг',),
        'public'        => true,
        'hierarchical'  => true,
        'rewrite'       => array('slug' => 'services', 'hierarchical' => true, 'with_front' => false),
        'query_var'     => true,
        'show_in_rest'  => true,
    ));
  # cpt_services_tag
    register_taxonomy('cpt_services_tag', array('cpt_services'), array(
        'labels'        => array( 'name' => 'Теги услуг',),
        'public'        => true,
        'hierarchical'  => false,
        'rewrite'       => array('slug' => 'services', 'hierarchical' => true, 'with_front' => false),
        'query_var'     => true,
        'show_in_rest'  => true,
    ));
    flush_rewrite_rules();   
}

# permalink_services_cat()
# 2
add_filter('post_type_link', 'permalink_services_cat', 1, 2);
function permalink_services_cat($permalink, $post)
{
    if (strpos($permalink, 'services') === false) return $permalink;
    $terms = get_the_terms($post, 'cpt_services_cat');
    if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])) {
        $taxonomy_slug = get_term_parents_list($terms[0]->term_id, 'cpt_services_cat', array(
            'separator' => '/', 'format' => 'slug', 'link' => false, 'inclusive' => true
        ));
        $taxonomy_slug = trim($taxonomy_slug, '/');
    } else {
        $taxonomy_slug = 'sandbox';
    }
    return str_replace('services', 'services/' . $taxonomy_slug, $permalink);
}

# rewrite_rules_services_cat()
# 3
add_filter('generate_rewrite_rules', 'rewrite_rules_services_cat');
function rewrite_rules_services_cat($wp_rewrite)
{
    $rules = array();
    $taxonomies = get_terms(array(
        'taxonomy' => 'cpt_services_cat', 'hide_empty' => false
    ));
    foreach ($taxonomies as $taxonomy) {
        $taxonomy_slug = get_term_parents_list($taxonomy->term_id, 'cpt_services_cat', array(
            'separator' => '/', 'format' => 'slug', 'link' => false, 'inclusive' => true
        ));
        $rules['^services/' . $taxonomy_slug . '?$'] = 'index.php?' . $taxonomy->taxonomy . '=' . $taxonomy->slug;
    }
    $rules['^services/([^/]*)/?$'] = 'index.php?cpt_services_cat=$matches[1]';
    $rules['^services/(.+?)/page/?([0-9]{1,})/?$'] = 'index.php?cpt_services_cat=$matches[1]&paged=$matches[2]';
    $rules['^services/(.+?)/([^/]*)/?$'] = 'index.php?cpt_services=$matches[2]';
    $wp_rewrite->rules = $rules + $wp_rewrite->rules;
}

/*
# permalink_services_tag()
# 4
add_filter('post_type_link', 'permalink_services_tag', 1, 2);
function permalink_services_tag($permalink, $post)
{
    if (strpos($permalink, 'services') === false) return $permalink;
    $terms = get_the_terms($post, 'cpt_services_tag');
    if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])) {
        $taxonomy_slug = get_term_parents_list($terms[0]->term_id, 'cpt_services_tag', array(
            'separator' => '/', 'format' => 'slug', 'link' => false, 'inclusive' => true
        ));
        $taxonomy_slug = trim($taxonomy_slug, '/');
    } else {
        $taxonomy_slug = 'sandbox';
    }
    return str_replace('services', 'services/' . $taxonomy_slug, $permalink);
}

# rewrite_rules_services_tag()
# 5
add_filter('generate_rewrite_rules', 'rewrite_rules_services_tag');
function rewrite_rules_services_tag($wp_rewrite)
{
    $rules = array();
    $taxonomies = get_terms(array(
        'taxonomy' => 'cpt_services_tag', 'hide_empty' => false
    ));
    foreach ($taxonomies as $taxonomy) {
        $taxonomy_slug = get_term_parents_list($taxonomy->term_id, 'cpt_services_tag', array(
            'separator' => '/', 'format' => 'slug', 'link' => false, 'inclusive' => true
        ));
        $rules['^services/' . $taxonomy_slug . '?$'] = 'index.php?' . $taxonomy->taxonomy . '=' . $taxonomy->slug;
    }
    $rules['^services/([^/]*)/?$'] = 'index.php?cpt_services_tag=$matches[1]';
    $rules['^services/(.+?)/page/?([0-9]{1,})/?$'] = 'index.php?cpt_services_tag=$matches[1]&paged=$matches[2]';
    $rules['^services/(.+?)/([^/]*)/?$'] = 'index.php?cpt_services=$matches[2]';
    $wp_rewrite->rules = $rules + $wp_rewrite->rules;
}
*/

# reset_rewrite_rules()
# 6
# cpt_services_cat
add_action('created_cpt_services_cat', 'reset_rewrite_rules');
add_action('delete_cpt_services_cat', 'reset_rewrite_rules');
add_action('edited_cpt_services_cat', 'reset_rewrite_rules');
# cpt_services_tag
add_action('created_cpt_services_tag', 'reset_rewrite_rules');
add_action('delete_cpt_services_tag', 'reset_rewrite_rules');
add_action('edited_cpt_services_tag', 'reset_rewrite_rules');
function reset_rewrite_rules()
{
    flush_rewrite_rules();
}
 
Подскажите нормальный форум для вп? или лучше сразу ставить сторонний полноценный?
мне очень понравился Asgaros Forum
некоторым нравится bbPress от самих разработчиков wordpress
здесь уже дело вкуса
 
Доброго времени суток. Сайт сделан на WP, тема Customify, собирал на wpbakery. Возникла проблема при отображении сайта в Chrome. Добавляю ряд, ставлю настройку "Растянуть ряд", далее добавляю внутренний ряд и этот внутренний ряд автоматически смещается вправо. Стили правил, но они внутренние wpbakery, то есть у них не назначен класс. Есть смещение padding-left, которое автоматически меняется в зависимости от разрешения экрана. Если поставить свойство "растянуть ряд и контент", то такой проблемы нет. Если поставить у внешнего ряда padding-left: 0px, то контент занимает всю ширину экрана. Как можно решить проблему? С этой темой делал несколько сайтов, сначала было все нормально, но после обновления 2 года назад, началось это смешение в хроме.
 

Вложения

  • Без-имени-1.jpg
    Без-имени-1.jpg
    27,3 KB · Просмотры: 3
  • Без-имени-2.jpg
    Без-имени-2.jpg
    11,5 KB · Просмотры: 3
Всем привет.

С недавнего времени, в Яндекс.Вебмастере, в "Статистике обхода" начал замечать, что в индекс попадают страницы вида:

site.com/post.html?unapproved=99999&moderation-hash=********

Я так понимаю, эти страницы - версии страниц с комментариями, отправленными на модерацию.

Хотелось бы, чтобы роботы ПС эти страницы к себе в базу не добавляли.

Как мне лучше поступить - закрыть страницы от индексации через robots.txt, или есть другие варианты?

Если закрывать через robots.txt, то правильно ли я составил директиву:

Disallow: *?unapproved*

???

UPD: Вопрос, кажется, решён. Видимо дело было в том, что в Яндекс.Вебмастере включена опция "Обход по счётчикам", из-за чего подобные страницы попадали в индекс.
 
Последнее редактирование:
Есть ли возможность сохранить «Постоянного покупателя»? Щелкните здесь, чтобы войти в систему »в развернутом состоянии, чтобы пользователь мог напрямую просматривать поля идентификатора входа и пароля, не нажимая на ссылку. /woocommerce - checkout/
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху