0

我已經嘗試這個功能來重寫自定義帖子的URL。 這裏是我的URL重寫代碼,自定義帖子類型的重寫url後分頁不工作

add_filter('post_type_link', 'brand_permalink', 1, 3); 
function brand_permalink($permalink, $post_id, $leavename) { 

if (strpos($permalink, '%campaign-responses-category%') === FALSE) return $permalink; 

    $post = get_post($post_id); 
    if (!$post) return $permalink; 

    // Get taxonomy terms 
    $terms = wp_get_object_terms($post->ID, 'campaign-responses-category'); 
    if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])) 
     $taxonomy_slug = $terms[0]->slug; 
    else $taxonomy_slug = 'no-brand'; 
    return str_replace('%campaign-responses-category%', $taxonomy_slug, $permalink); 
} 

這裏是代碼爲分頁。

function wpbeginner_numeric_posts_nav() { 

if(is_singular()) 
    return; 

global $wp_query; 

/** Stop execution if there's only 1 page */ 
if($wp_query->max_num_pages <= 1) 
    return; 

$paged = get_query_var('paged') ? absint(get_query_var('paged')) : 1; 
$max = intval($wp_query->max_num_pages); 

/** Add current page to the array */ 
if ($paged >= 1) 
    $links[] = $paged; 

/** Add the pages around the current page to the array */ 
if ($paged >= 3) { 
    $links[] = $paged - 1; 
    $links[] = $paged - 2; 
} 

if (($paged + 2) <= $max) { 
    $links[] = $paged + 2; 
    $links[] = $paged + 1; 
} 

echo '<div class="pager"><div class="pages wp-compaign">' . "\n"; 

/** Previous Post Link */ 
if (get_previous_posts_link()) 
    printf('<li style="display: inline-block;list-style: none;">%s</li>' . "\n", get_previous_posts_link()); 

/** Link to first page, plus ellipses if necessary */ 
if (! in_array(1, $links)) { 
    $class = 1 == $paged ? ' class="active"' : ''; 

    printf('<li%s style="display: inline-block;list-style: none;"><a class="page larger" href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link(1)), '1'); 

    if (! in_array(2, $links)) 
     echo '<li style="display: inline-block;list-style: none;">…</li>'; 
} 

/** Link to current page, plus 2 pages in either direction if necessary */ 
sort($links); 
foreach ((array) $links as $link) { 
    $class = $paged == $link ? ' class="active"' : ''; 
    printf('<li%s style="display: inline-block;list-style: none;"><a class="page larger" href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link($link)), $link); 
} 

/** Link to last page, plus ellipses if necessary */ 
if (! in_array($max, $links)) { 
    if (! in_array($max - 1, $links)) 
     echo '<li style="display: inline-block;list-style: none;">…</li>' . "\n"; 

    $class = $paged == $max ? ' class="active"' : ''; 
    printf('<li%s style="display: inline-block;list-style: none;"><a class="page larger" href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link($max)), $max); 
    } 

/** Next Post Link */ 
if (get_next_posts_link()) 
    printf('<li style="display: inline-block;list-style: none;">%s</li>' . "\n", get_next_posts_link()); 

echo '</div></div>' . "\n"; 

} 

分頁鏈接http://example.com/site-name/campaign-responses/page/2/ 但其獲得的404錯誤頁面沒有找到。 一旦我刪除.htaccess和刪除重寫url的功能,但仍然得到404錯誤。請任何人可以幫助我。先謝謝你。

回答

0

在添加重寫之後,您是否轉至設置 - >固定鏈接並單擊保存修改按鈕?通過這樣做,.htaccess文件被重寫,您的更改應該有效。

+0

感謝您的回答。我嘗試了很多次,但沒有成功。 – meet

+0

我解決了我的問題。我設置了自定義的帖子名稱和頁面名稱,所以分頁不起作用。然後我改變了自定義發佈的名稱它解決了問題和分頁工作也重寫URL。 – meet

相關問題