WordPress

rozwój motywu – Linki do stronicowania dla niestandardowego typu postu zwracają 404

  • 4 grudnia, 2023
  • 3 min read
rozwój motywu – Linki do stronicowania dla niestandardowego typu postu zwracają 404


po pierwsze, jestem nowy w programowaniu WP i PHP. Tworzę szablon, który ma kilka niestandardowych typów postów. problem polega na tym, że gdy dodam paginację do mojego niestandardowego typu postu, wszystkie linki do paginacji zwracają 404. w ten sposób rejestruję niestandardowy typ postu:

function custom_post_projects()
{
    $labels = array(
        'name' => _x('Projects', 'post type general name'),
        'singular_name' => _x('Project', 'post type singular name'),
        'add_new' => _x('New Project', 'book'),
        'add_new_item' => __('Add New Project'),
        'edit_item' => __('Edit Project'),
        'new_item' => __('New Project'),
        'all_items' => __('All Projects'),
        'view_item' => __('View Project'),
        'search_items' => __('Search Projects'),
        'not_found' => __('No Projects found'),
        'not_found_in_trash' => __('No Projects found in the Trash'),
        'parent_item_colon' => __('Parent Project:'),
        'menu_name' => 'Projects'
    );
    $args = array(
        'has_archive' => true,
        'labels' => $labels,
        'description' => 'Holds our projects and project specific data',
        'public' => true,
        'menu_position' => 5,
        'publicly_queryable' => true,
        'query_var' => true,
        'hierarchical' => true,
        'supports' => array('title', 'thumbnail', 'excerpt'),
        'rewrite' => array('slug' => 'project', 'pages' => true)

    );
    register_post_type('project', $args);
   
}
add_action('init', 'custom_post_projects');

To jest mój projekt-archiwum.php

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // If we have a 'paged' parameter, set $paged to that value, if not set it to 1

$args = array(
    'post_type' => 'project',
    'posts_per_page' => 2,
    'paged' => $paged, // Our current paged parameter set above.
    'order' => 'desc',
    'orderby' => 'date',
);

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

<div id="container">
    <div id="portfolio_content">
        <div id="portfolio_wrap">
            <?php while ($the_query->have_posts()):
                $the_query->the_post(); ?>
                <span class="title">
                    <?php the_title(); ?>
                </span><br>
            <?php endwhile; ?>

            <?php
            $big = 999999999; // need an unlikely integer
            echo paginate_links(
                array(
                    'base' => get_pagenum_link(1) . '%_%',
                    'format' => 'page/%#%',
                    'current' => max(1, get_query_var('paged')),
                    'total' => $the_query->max_num_pages
                )
            );
            ?>
        </div>
    </div>
</div>

moim problemem jest

Warto przeczytać!  Plusy i minusy rozwiązania cenowego

poniższe linki nie działają

foo.com/project/page/2

page/2 działa na normalnych postach, ale dla każdego niestandardowego typu postu zwraca 404

https://foo.com/project/page/1 działa dobrze i prowadzi do foo.com/project.

Próbowałem już następujących rzeczy:

  1. migające linki bezpośrednie
  2. Zmiana linków bezpośrednich na coś innego i flashowanie
  3. Dodanie koloru_rewrite_rules(true); do funkcji.php
  4. Wyłączanie motywu i włączanie go
  5. Dezaktywacja wszystkich wtyczek.
  6. Usuwanie całej pamięci podręcznej

Czy ktoś może mnie poprowadzić we właściwym kierunku, ponieważ nie mogłem znaleźć żadnego rozwiązania w Internecie. Wypróbowałem wszystkie odpowiedzi na stackExchange.


Źródło