在以编程方式创建的帖子的类别页面上的 WordPress 分页中,除了第一页之外的所有其他页面上都出现 404 错误

问题描述 投票:0回答:2

我正在从 WordPress 中的 api 获取 YouTube feed,并根据该数据创建帖子,并将其分配为“视频”类别。我仅在该类别页面的类别页面中遇到分页问题,基本上,如果创建更多帖子,它会创建分页链接,但在除第一个页面之外的所有其他页面上都会出现 404 错误。我没有使用自定义帖子类型,而是使用默认的“帖子”类型通过我的代码创建帖子。当我删除所有创建的文件时,该类别的分页工作正常。预先感谢您的帮助。

$data = file_get_contents($url);
if(!empty($data)){
$data = json_decode($data);
foreach ($data->items as $item) {
    $title = $item->snippet->title;
    $description = $item->snippet->description;
    $video = $item->id->videoId;
    $thumbnail = $item->snippet->thumbnails->default->url;
    
    $content = '<p style="text-align:center">https://www.youtube.com/watch?v='.$video.'</p>';
     // Prepare post data
    $post_data = array(
        'ID'            => 0,
        'post_author'   => $user->ID,
        'post_content'  => $content,
        'post_content_filtered' => '',
        'post_title'    => $title,
        'post_excerpt'  => $description,
        'post_status'   => 'publish',
        'comment_status' => 'closed',
        'ping_status' => 'closed',
        'post_password' => '',
        'post_name'     => sanitize_title($title),
        'to_ping'       => '',
        'pinged'        => '',
        'post_parent'   => 0,
        'menu_order'    => 0,
        'post_mime_type' => '',
        'guid'          => '',
        'import_id'     => 0,
        'post_category' => array( $category_id), // Set the category IDs
        'tags_input'    => '',
        'tax_input'     => array( $category_id),
        'meta_input'    => array(
            'primary_category' => 'videos'
        ),
        'page_template' => 'category.php'
              
    );

    // Insert the post into the database
    $post_id = wp_insert_post($post_data);


        }
    }
wordpress pagination http-status-code-404 categories posts
2个回答
0
投票

更新永久链接设置 转到 WordPress 管理员中的“设置”>“永久链接”,然后单击“保存更改”。这将更新永久链接设置并刷新重写规则。 更新 .htaccess 文件 如果更新永久链接设置不起作用,您可以尝试手动更新 .htaccess 文件。 更改 $wp_query 使用 pre_get_posts 更改 $wp_query。 检查 posts_per_page 值 一位用户报告将 posts_per_page 值设置为与设置/阅读参数相同的值解决了该问题


0
投票

我已经完成了以下操作:

  1. 更新永久链接设置
  2. 更新.htacess 文件
  3. 使用 pre_get_posts 对 $wp_query 进行了更改

函数modify_main_query($query) { if ( !is_admin() && $query->is_main_query() && ( $query->is_category() || $query->is_post_type_archive() ) ) { // 调整查询参数 $query->set('post_type', array('post'));
$query->set('posts_per_page', 10); } } add_action('pre_get_posts', 'modify_main_query');

  1. posts_per_page 值与设置/阅读参数相同。
© www.soinside.com 2019 - 2024. All rights reserved.