以下のコードはYoastによるWordpress SEOプラグインからのものです。ページ付けされた投稿のメタの説明にページ番号を追加しようとしています(Googleとの重複の問題を避けるため)。
function metadesc( $echo = true ) {
if ( get_query_var('paged') && get_query_var('paged') > 1 )
return;
global $post, $wp_query, $page;
$options = get_wpseo_options();
$metadesc = '';
if (is_singular()) {
$metadesc = wpseo_get_value('metadesc');
if ($metadesc == '' || !$metadesc) {
if ( isset($options['metadesc-'.$post->post_type]) && $options['metadesc-'.$post->post_type] != '' )
$metadesc = wpseo_replace_vars($options['metadesc-'.$post->post_type], (array) $post );
}
}
$metadesc = apply_filters( 'wpseo_metadesc', trim( $metadesc ) );
if ( $echo ) {
if ( !empty( $metadesc ) )
echo '<meta name="description" content="'.esc_attr( strip_tags( stripslashes( $metadesc ) ) ).''.Page .''.$page.'"/>'."\n";
else if ( current_user_can('manage_options') && is_singular() )
echo '<!-- '.__( 'Admin only notice: this page doesn\'t show a meta description because it doesn\'t have one, either write it for this page specifically or go into the SEO -> Titles menu and set up a template.', 'wordpress-seo' ).' -->'."\n";
} else {
return $metadesc;
}
}
グローバル変数として$ pageを追加しました。ページ番号を次のように出力できます。
<meta name="description" content="Wordpress SeoPage3"/>
Page0(つまり最初のページ)ではページ番号を省略し、次にスペースと区切り文字(パイプまたはダッシュ)を追加して読み上げるようにします。
<meta name="description" content="Wordpress Seo Page | 3"/>
ありがとう。
ページ番号をプラグインに関係なく追加するには、フィルタを使用します。プラグインファイルを変更しないでください。他の方法ではアップデートを実行できません。
例:
<?php # -*- coding: utf-8 -*-
/**
* Plugin Name: T5 Add page number to title
* Description: Adds <code> | Page $number</code> to the page title.
* License: MIT
* License URI: http://www.opensource.org/licenses/mit-license.php
*/
if ( ! function_exists( 't5_add_page_number' ) )
{
function t5_add_page_number( $s )
{
global $page;
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
! empty ( $page ) && 1 < $page && $paged = $page;
$paged > 1 && $s .= ' | ' . sprintf( __( 'Page: %s' ), $paged );
return $s;
}
add_filter( 'wp_title', 't5_add_page_number', 100, 1 );
add_filter( 'wpseo_metadesc', 't5_add_page_number', 100, 1 );
}
これを直しただけです。私が最初に尋ねたWordPressフォーラムに解決策を掲載しました。 http://wordpress.org/support/topic/plugin-wordpress-seo-by-yoast-warning-duplicate-meta-descriptions-and-title-tags-when-paginating?reply = 4