是否为分页中的每个页面自定义标题标签?

时间:2013-11-07 作者:muhammad usman

With the reference of below questions.
How to change title tags on paginated posts?
Paginate tags page
How to change title tags on paginated posts?
Add Page number to Meta Description in Wordpress SEO by Yoast

我正在使用WP Page Numbers 用于分页的插件,但插件并没有提供不同的选项。

我想添加不同的title tag 对于我的pagination pages. 下面是不同的页面

Pagination for all Index pages (50 pages and increasing)
http://domain。com/page/2/

Pagination for all Categories(20 pages each in 4 categories and increasing)
http://domain。com/this-is-category-no-1/page/2/
http://domain。com/this-is-my-cat-no-2/page/3/

1 个回复
最合适的回答,由SO网友:eskimo 整理而成

是否使用查询在每个页面上显示结果?

如果您知道查询参数,那么您可以根据输出进行操作。比如说\'posts_per_page\' 设置为20. 您可以使用found\\u posts来计算有多少篇文章,并基于该信息显示标题标记:

$num_posts = $my_query->found_posts;

// For index pages
if(is_page(\'page_title_here\') && $num_posts / 20 == 4){
     // Now you\'re on page 4
}

// For category pages
if(is_category(\'category_title_here\') && $num_posts / 20 == 3){
     // Now you\'re on page 3
}
如果你有\'paged\' 设置为$paged 你已经定义了$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1; 然后,您可以根据页码(比上面的IMO代码更好)进行if语句:

// For index pages
if(is_page(\'page_title_here\') && $paged == 4){
     // Now you\'re on page 4
}

// For category pages
if(is_category(\'category_title_here\') && $paged == 3){
     // Now you\'re on page 3
}
实际上,我不确定你所说的标题标签是什么意思,但你可以在if语句中做任何你喜欢的事情。

UPDATE

如果希望代码将标题放在<title> 中的标记<head> 第节,将代码包装到函数中:

function title_function(){
    // For index pages
    if(is_page(\'page_title_here\') && $paged == 4){
         return \'Title for page 4 on page_title_here\';
    }

    // For category pages
    if(is_category(\'category_title_here\') && $paged == 3){
         return \'Title for page 3 on category_title_here\';
    }
}
并将

<title><?php echo title_function(); ?></title>

UPDATE 2

我误读了这个问题,而不是is_page 在上面的代码中,使用is_home() 如果您的页面显示最近的帖子,或is_front_page() 如果您的主页是静态页面:

function title_function(){
    // For homepage
    if(is_home() && $paged == 4){
         return \'Title for page 4 on page_title_here\';
    }

    // For category pages
    if(is_category(\'category_title_here\') && $paged == 3){
         return \'Title for page 3 on category_title_here\';
    }
}

结束