404 страница не найдена ошибка с нумерацией страниц и постоянными ссылками на пользовательский тип записи

Я создал пользовательский тип записи в WordPress, добавив следующее в мои пользовательские темы function.php

function oil_paintings_init() {
$args = array(
  'labels' => array(
    'name' => __( 'oil-paintings' ),
    'singular_name' => __( 'oil-painting' ),
    'rewrite' => array( 'slug' => 'oil-painting'),
  ),
    'public' => true,
    'show_ui' => true,
    'capability_type' => 'post',
    'hierarchical' => false,
    'query_var' => true,
    'menu_icon' => 'dashicons-format-image',
    'supports' => array(
        'title',
        'editor',
        'revisions',
        'page-attributes',)
    );
register_post_type( 'oil-paintings', $args );
}
add_action( 'init', 'oil_paintings_init' );

Я создал пользовательский шаблон страницы, который зацикливает и отображает сообщения из пользовательского типа сообщения, который я добавил выше. Я хочу показывать 5 постов за раз и отдыхать по следующим и предыдущим ссылкам на странице. Это код, который я использовал:

<?php
  $currentPage = (get_query_var('paged'))? get_query_var('paged') : 1;
  $args =array(
         'post_type'=>'oil-paintings',
          'posts_per_page' => 5,
         'nopaging' => false, 
          'paged' => $currentPage, 

    );
$wp_query = new WP_Query($args);
?>

<?php if($wp_query->have_posts()): while($wp_query->have_posts()) :    $wp_query->the_post(); ?>
    <div class="columns">
    <img src="<?php the_field('image1'); ?>" alt="" />
    <a href="<?php the_Permalink(); ?>"><?php the_title(); ?></a>
    </div>
<?php endwhile;
 next_posts_link("next");
 previous_posts_link("prev");
 endif; 
 wp_reset_postdata(); ?>

Проблема, с которой я сталкиваюсь, заключается в том, когда я включаю постоянные ссылки в моем WordPress для

'http://www.domainname.com/%postname%/' -->this does not work

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

'http://www.domainname.com/?p=123' --> this works

любая помощь в этом отношении приветствуется. Спасибо

Хорошо, я понял, где я иду не так. Перемещение перезаписи из массива меток решило это для меня. Вот рабочий код в functions.php

 function oil_paintings_init() {
$args = array(
  'labels' => array(
    'name' => __( 'oil-paintings' ),
    'singular_name' => __( 'oil-painting' )
  ),
   'rewrite' => array( 'slug' => 'oil-painting'),
    'public' => true,
    'show_ui' => true,
    'capability_type' => 'post',
    'hierarchical' => false,
    'query_var' => true,
    'menu_icon' => 'dashicons-format-image',
    'supports' => array(
        'title',
        'editor',
        'revisions',
        'page-attributes',)
    );
register_post_type( 'oil-paintings', $args );
}
add_action( 'init', 'oil_paintings_init' );

0 ответов

Другие вопросы по тегам