webentwicklung-frage-antwort-db.com.de

Hinzufügen der Seitenzahl zur Meta-Beschreibung in Wordpress SEO von Yoast

Der folgende Code stammt aus dem Wordpress SEO-Plugin von Yoast. Ich versuche, die Seitenzahl der Meta-Beschreibung in paginierten Posts hinzuzufügen (um Probleme mit der Duplizierung bei Google zu vermeiden).

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;
        }

    }

Ich habe $ page als globale Variable hinzugefügt und kann die Seitenzahl folgendermaßen ausgeben:

<meta name="description" content="Wordpress SeoPage3"/>

Ich möchte, dass die Ausgabe die Seitenzahl weglässt, wenn auf Seite0 (d. H. Der ersten Seite) Leerzeichen und Trennzeichen (Pipe oder Bindestrich) hinzugefügt werden, damit sie gelesen werden

<meta name="description" content="Wordpress Seo Page | 3"/>

Vielen Dank..

1
MaxBux

Verwenden Sie Filter, um eine Seitennummer unabhängig von zu einem Plugin hinzuzufügen. Ändern Sie nicht die Plugin-Datei. Sie können Updates nicht auf andere Weise ausführen.

Beispiel:

<?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 );
}
7
fuxia

Habe das gerade behoben. Ich habe die Lösung im WordPress-Forum gepostet, wo ich ursprünglich gefragt hatte. http://wordpress.org/support/topic/plugin-wordpress-seo-by-yoast-warning-duplicate-meta-descriptions-and-title-tags-when-paginating?replies=4

0
MaxBux