web-dev-qa-db-ja.com

私のページジェネレータプラグインでメタタグを設定するための解決策は?

自動的にページを生成するプラグインがあります。このプラグインに、ページのメタ説明、キーワード、タイトルを設定できる機能を追加する方法はありますか?私はYoastやAIOSEOのようなSEOプラグインを調べましたが、望みの目標を達成できないようです。

これがソースです(更新)

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

敬具、

ブランドン

1
Brandon Jones

理論的には、コールバック内から wp_headechoにフックできます。

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

ただし、テーマのタグが既に<head></head>セクションにハードコードされている場合は、タグが重複することになります。
それらのページであなたのものを見逃すよりも望ましいかどうか、あなたはあなた自身のために決めなければならないでしょう。
メタタグをヘッダーに挿入するプラグインをインストールし続けるとは思わない。

編集:あなたのコメントに関しては、私はWordPress SEO APIには全く慣れていませんが、これらは単純なフィルタなので add_filter そしてあなたはそのAPIを使うことができるはずです。

これにより、望ましい結果が得られます。

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

それがアクティブ化/インストールされていない場合、それは優雅に辞退しますが、今あなたはあなたのプラグインをWordPress SEOに依存するようにしてください。

1
Johannes Pille

ブランドン、

これが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' );
}

ここでサンプル値を選択しましたが、これらは投稿/ページなどでAll in One SEO Packが使用するpostmetaキーです。

0
pbaylies