7

返信がなかったので再投稿。

Wordpress SEO API を使用してカスタム正規タイトルを設定するのに問題があります: http://yoast.com/wordpress-seo-api-docs/

カスタム URL 書き換えを使用するデザインと呼ばれるカスタム投稿タイプがあります。ベースページ /design/ に /design/a-design/ のようにデザイン名を追加します。デフォルトでは、Wordpress SEO のカノニカルは /design/ ページです。

私がやりたいのは、それがデザイン ページであるかどうかを判断し、別の正規ページを返す関数を作成することです。私はそれがデザインページであるかどうかをテストすることができif ($design == ""){、カスタムパーマリンクURLを使用しようとしましたが、関数は正規を完全に削除するだけです.

これが私の基本的な機能です:

function design_canonical(){
    if ($design == "") {    
        // Leave blank and Yoast SEO will use default canonical for posts/pages
    }
    else {
        return $design['detailslink'];
    }
}
add_filter( 'wpseo_canonical', 'design_canonical' )

明らかに何か間違ったことをしていますが、何が間違っているのか完全にはわかりません。

考え?

4

2 に答える 2

11

次のようなものを試すことができます:

function design_canonical($url) {
    global $post;

    if ( get_post_type( $post->ID ) == 'design' ) {
        return site_url( '/design/' . $post->post_name );
    } else {
        // Do nothing and Yoast SEO will use default canonical for posts/pages
        return $url;
    }
}
add_filter( 'wpseo_canonical', 'design_canonical' );
于 2012-11-22T13:51:35.783 に答える