it-swarm.com.de

Eine Lösung zum Setzen von Meta-Tags mit meinem Seitengenerator-Plugin?

Ich habe ein Plugin, das automatisch eine Seite generiert. Gibt es eine Möglichkeit, diesem Plugin Funktionen hinzuzufügen, mit denen ich die Meta-Beschreibung, die Stichwörter und den Titel für die Seite festlegen kann? Ich habe mir SEO-Plugins wie Yoast und AIOSEO angesehen, aber ich kann das gewünschte Ziel scheinbar nicht erreichen.

Hier ist die Quelle (AKTUALISIERT) :

<?php

function wpse_36395_metadesc() {
    return 'Your Description';
}

if($city){

    $args = array(
        'post_title'   => $city . " Electrician",
        'post_name'    => $city . "-electrician",
        'post_date'    => $_SESSION['cal_startdate'],
        'post_content' => $citycontent,
        'post_status'  => 'publish',
        'post_type'    => 'page',
        'post_parent'  => 11192
    );

    $city_id = wp_insert_post($args);

    add_filter( 'wpseo_metadesc', 'wpse_36395_metadesc' );
}
?>

Mit freundlichen Grüßen,

Brandon

1
Brandon Jones

Theoretisch könnten Sie sich in wp_head und echo Ihre Tags aus Ihrem Rückruf einbinden:

function wpse_36395_meta_tags() {
    echo '<meta name="description" content="Your Description" />';
}
add_action( 'wp_head', 'wpse_36395_meta_tags' );

Beachten Sie jedoch, dass Sie doppelte Tags erhalten, wenn die Tags eines Themas bereits in seinem Abschnitt <head></head> fest codiert sind.
Ob das wünschenswerter ist als das Fehlen von dir auf diesen Seiten, musst du selbst entscheiden.
Ich glaube nicht, dass ich ein Plugin installiert lassen würde, das Meta-Tags in meinen Header zwingt.

Edit: Wie für Ihren Kommentar, ich bin mit der WordPress SEO API überhaupt nicht vertraut, aber das sind einfache Filter, also werfen Sie einen Blick auf add_filter und Sie sollten in der Lage sein, diese API zu verwenden.

Dies sollte das gewünschte Ergebnis liefern:

function wpse_36395_metadesc() {
    return 'Your Description';
}
add_filter( 'wpseo_metadesc', 'wpse_36395_metadesc' );

Beachten Sie, dass Sie Ihr Plugin jetzt von WordPress SEO abhängig machen, obwohl es ordnungsgemäß abgelehnt wird, wenn es nicht aktiviert/installiert ist.

1
Johannes Pille

Brandon,

So machen Sie das mit All in One SEO Pack:

<?php

if( $city ){

    $args = array(
    'post_title'   => $city . " Electrician",
    'post_name'    => $city . "-electrician",
    'post_date'    => $_SESSION['cal_startdate'],
    'post_content' => $citycontent,
    'post_status'  => 'publish',
    'post_type'    => 'page',
    'post_parent'  => 11192
    );

    $city_id = wp_insert_post($args);
    add_post_meta( $city_id, '_aioseop_title', $city . " Electrician" );
    add_post_meta( $city_id, '_aioseop_description', $citycontent );
    add_post_meta( $city_id, '_aioseop_keywords', 'city, electricians' );
}

Ich habe hier nur Beispielwerte ausgewählt, aber das sind die Postmeta-Schlüssel, die All in One SEO Pack für Posts/Seiten usw. verwendet. Hoffe, das hilft!

0
pbaylies