Ответы пользователя по тегу WordPress
  • Как подключить кастомную пагинацию на вордпресс сайт и ограничить количество постов на странице, потому-что через чтение не работает??

    @AndreyBLG
    Попробуйте это.
    <?php
    $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;
    $query = new WP_Query( [
    	'post_type'      => 'news', // ваш тип записи.
    	'posts_per_page' => 12, // нужное количество записей на одной стр.
    	'paged'          => $paged,
    	'no_found_rows' => false 
    ] );
    ?>
    
    <!-- Вывод записей -->
    <div class="container">
    	<div class="wrapper">
    		<?php
    		if ( $query->have_posts() ) :
    			while ( $query->have_posts() ) { $query->the_post();
    				// Здесь вывод записей
    			}
    		?>
    	</div>
    </div>
    
    <!-- Вывод пагинации -->
    <div class="container">
    	<div class="paginatioin-box">
    		<?php
    		$big = 999999999;
    		echo paginate_links( [
    			'base'    => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    			'current' => max( 1, get_query_var('paged') ),
    			'total'   => $query->max_num_pages,
    		] );
    		?>
    	</div>
    </div>
    
    <?php wp_reset_postdata();
    
    else : ?>
    	<div>
    		<p>К сожалению новостей нет.</p>
    	</div>
    <?php endif; ?>
    Ответ написан
    Комментировать
  • Как стриггерить обновление данных при прямом изменении их в БД wordpress?

    @AndreyBLG Автор вопроса
    Снял дамп базы и поиском нашел, где хранятся старые данные, это таблица "wp_yoast_indexable".
    Кто нибудь знает, можно ее очистить, не будет ли каких-то негативных последствий?
    Ответ написан
  • Ошибка Parse error: syntax error, unexpected end of file in, что делать?

    @AndreyBLG
    Очевидно вопрос неактуален, но может кому-то пригодится.
    Поищите в файле с ошибкой (либо подключаемом файле, как у автора вопроса) открывающий тег php - "<?" и замените его на полный - "<?php"
    Ответ написан
    Комментировать
  • Как получить список товаров из определённых категорий с определённым атрибутом?

    @AndreyBLG
    Посмотрие примеры запросов на сайте wp-kama - wp_query
    Ваш случай - это секции "Параметры категорий" и "Параметры произвольных полей"

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

    // задаем нужные нам критерии выборки данных из БД
    
    // отберем записи, которые находятся хотя бы в одной из категорий с id 2 или 6 (дочерние категории не будут учитываться)
    // и выберем из них записи с ключом поля "color" и значением этого поля = "blue"
    $args = array(
    	'category__in' => array(2,6),
      'meta_key' => 'color', 'meta_value' => 'blue'
    );
    
    $query = new WP_Query( $args );
    
    // Цикл
    if ( $query->have_posts() ) {
    	while ( $query->have_posts() ) {
    		$query->the_post();
    		echo '<li>' . get_the_title() . '</li>';
    	}
    } else {
    	// Постов не найдено
    }
    // Возвращаем оригинальные данные поста. Сбрасываем $post.
    wp_reset_postdata();
    Ответ написан
    Комментировать
  • Как спарсить содержание the_content() wordpress с html тегами?

    @AndreyBLG Автор вопроса
    Похоже я просто прогнал(
    var_dump почему-то не показал теги в строке, но они там есть, поэтому регуляркой найти h1 можно.
    $get_content = get_the_content();
    
    if( $get_content ) {
    	preg_match("/<h1>[a-zA-Z]*.*<\/h1>/", $get_content, $output_array);
    	if( $output_array ) {
    		echo $output_array[0];
    	}else{
    		echo "<h1>" . get_the_title() . "</h1>";
    	};
    }
    Ответ написан
    Комментировать
  • Поддержка меток (тегов) в custom post type wordpress?

    @AndreyBLG Автор вопроса
    Вот так получилось добиться нужного!
    Здесь при регистрации нового типа записей не регистрируется новая таксономия для меток, а в аргументы, одной строкой, добавляется параметр 'taxonomies' => array('post_tag') , выделил его переносами строк.
    Метки, добавленные таким способом, работают как надо.

    Остается вопрос почему не работал первый способ, может кто знает?
    Для лучшего понимания WP было бы полезно.

    Рабочий код добавления меток к кастомному типу записей:
    add_action( 'init', 'mbds_products_custom_post_types' );
    
    function mbds_products_custom_post_types() {
    	$labels = array(
    		'name'               => _x( 'Продукция', 'post type general name' ),
    		'singular_name'      => _x( 'Продукция', 'post type singular name' ),
    		'menu_name'          => _x( 'Продукция', 'admin menu' ),
    		'name_admin_bar'     => _x( 'Продукция', 'add new on admin bar' ),
    		'add_new'            => _x( 'Добавить продукт', 'mbds_products' ),
    		'add_new_item'       => __( 'Добавить новый продукт' ),
    		'new_item'           => __( 'Новый продукт' ),
    		'edit_item'          => __( 'Редактировать продукт' ),
    		'view_item'          => __( 'Показать продукт' ),
    		'all_items'          => __( 'Вся продукция' ),
    		'search_items'       => __( 'Найти продукт' ),
    		'not_found'          => __( 'Продукция не найдена' ),
    		'not_found_in_trash' => __( 'Нет продукции в корзине' )
    	);
    
    	$args = array(
    		'labels'             => $labels,
            'description'        => __( 'Описание.' ),
    		'public'             => true,
    		'publicly_queryable' => true,
    		'show_ui'            => true,
    		'show_in_menu'       => true,
    		'query_var'          => true,
    		'rewrite'            => true,
    		'capability_type'    => 'post',
    		'has_archive'        => true,
    		'hierarchical'       => false,
    		'menu_position'      => 8,
    		'menu_icon'          => 'dashicons-portfolio',
    		'supports'           => array( 'title', 'thumbnail', 'page-attributes', 'editor' ),
    
    		// добавит поддержку меток к custom post type
    		'taxonomies' => array('post_tag')
    	);
    
    	register_post_type( 'mbds_products', $args );
    }
    Ответ написан
    2 комментария