サポート » プラグイン » meta manager description 重複について

  • metanlife

    (@metanlife)


    初めて投稿させて頂きます。

    meta managerというプラグインで、descriptionの設定などを行っているのですが、ページ送りの際にdescriptionが重複してしまっております。

    該当のページは、アーカイブ、カテゴリ、タグページになります。
    希望といたしましては、該当のページの
    2ページ目は、 description | 2ページ
    3ページ目は、 description | 3ページ
    のような表記にしたいと考えております。

    解決策をご存じの方、ご教授頂けませんでしょうか?

    御手数お掛けしますが何卒よろしくお願いいたします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • gblsm

    (@gblsm)

    そのプラグインのファイル meta-manager.php の、204 行目あたりから始まる関数 output_meta の中で description を出力しているので、その関数のコードを修正してページ番号を一緒に出力すればよいでしょう。

    トピック投稿者 metanlife

    (@metanlife)

    gblsm様

    ご返信頂きまして誠にありがとうございます。

    下記のコードに

    if ( $meta['description'] ) {
    $output .= '<meta name="description" content="' . esc_attr( $meta['description'] ) . '" />' . "\n";
    }

    ▼<?php if(get_query_var(‘paged’)) echo ‘ページ’.get_query_var(‘paged’); ?>を追加▼

    if ( $meta['description'] ) {
    $output .= '<meta name="description" content="' . esc_attr( $meta['description'] ) . '<?php if(get_query_var('paged')) echo 'ページ'.get_query_var('paged'); ?>" />' . "\n";
    }

    したのですが、更新と同時にエラーが出て、プラグインが停止してしまいます。このコードでは間違っているのでしょうか?

    御手数おかけしますがよろしくお願いいたします。

    nobita

    (@nobita)

    こんにちは

    コードが間違っています。

    PHPの基本を勉強してください。

    ただ、プラグインのコードを直接変更すると、プラグインをアップデートした時に、変更が削除されてしまいますので、以下のようにしたほうがいいのではないかと思います。

    theme functions.php

    add_filter( 'option_meta_description', 'function_name' );
    
    function function_name( $return_value ) {
    
    	return $return_value. ' 追加メッセージ';
    }

    以下が、実際の表示ですが

    <meta name="keywords" content="test" />
    <meta name="description" content="yay 追加メッセージ" />
    <title>Coffee Shop MikeNeco | refresh your time | ページ 2</title>

    descriptionにページ番号を追加するという事のようですが、現在の新しいタイトルを設定していれば、タイトルに表示されます。
    そちらの設定は、設定済みですか?

    もし、まだなら

    add_theme_support( 'title-tag' )

    調べてみてください

    トピック投稿者 metanlife

    (@metanlife)

    nobita様

    ご返信頂きまして誠にありがとうございます。
    サイトの構築自体不慣れでしてご迷惑をお掛けしてしております。

    タイトルタグにつきましては、ページ番号を付けております。

    add_filter( 'option_meta_description', 'function_name' );
    
    function function_name( $return_value ) {
    
    	return $return_value. ' 追加メッセージ';
    }

    上記コードの追加メッセージの箇所は、

    <?php if(get_query_var('paged')) echo 'ページ'.get_query_var('paged'); ?>

    でよろしいでしょうか?

    また、function_nameの箇所はどのような記述になりますでしょうか?

    御手数お掛けしますがよろしくお願いいたします。

    nobita

    (@nobita)

    @metanlife さん

    たぶんフォーラム利用に慣れていないためだと思いますが、このフォーラムでは

    完全なコードの提供は期待できませんよ。

    回答者からの質問に答えないで、必要な回答を求めるだけだと回答が付きにくくなることを覚えておくといいと思います。

    初めてとのことなので、参考コード 書いておきます :)

    add_filter( 'option_meta_description', 'function_name' );
    
    function function_name( $return_value ) {
    	global $page,$paged;
    
    	$sep	= ' | ';
    	$title	= '';
    
    	if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() ) {
    
    			$title = " $sep " . sprintf( __( 'Page %s','text-domain' ), max( $paged, $page ) );
    	}
    	return $return_value. $title;
    }

    コードの内容が理解できないようなら、トラブルに対処できないと思いますので、使用しないほうがいいと思います。

    トピック投稿者 metanlife

    (@metanlife)

    nobita様

    ご返信頂きまして誠にありがとうございます。
    また、フォーラムのルールを知らず投稿してしまいまして申し訳ございませんでした。

    nobita様の参考コードを勉強し、理解した上で作業したいと思います。

    ありがとうございました。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「meta manager description 重複について」には新たに返信することはできません。