4

Wordpressの正規リンクを変更してカスタムURLパラメーターを追加する方法を知っている人はいますか?

別の(Wordpress以外の)データベースを照会するページがあるWordpressサイトがあります。個々の本を表示するためにURLパラメータ「pubID」を渡しましたが、正常に機能しています。

例:http ://www.uglyducklingpresse.org/catalog/browse/item/?pubID = 63

しかし、個々の本のページがGoogleに正しく表示されていません。?pubIDパラメーターが削除されています。

これは、すべてのアイテムページのソースに同じ自動生成された「正規」URLリンクタグが含まれているためだと思います。1つは「pubID」パラメータが削除されています。

例:link rel ='canonical' href =' http: //www.uglyducklingpresse.org/catalog/browse/item/ '

.htaccessを編集してカスタムURLパラメーターをWordpressに追加し、パラメーターがパーマリンクや「正規」リンクによって削除されないようにする方法はありますか?

または、別の解決策があるかもしれません...アイデアをありがとう!

4

1 に答える 1

8

rel_canonicalWordpressのアクション関数を、(条件が満たされたときに)クエリ文字列変数を追加する正規リンクを作成する独自の関数に置き換えることができるはずです。以下は機能するはずですが、おそらくニーズに合わせて条件を変更する必要があります。

remove_action('wp_head', 'rel_canonical');
add_action('wp_head', 'my_rel_canonical');

function my_rel_canonical() {
    if (is_page('item') && isset($_GET['pubID'])) {
        global $post;
        $link = get_permalink($post->ID) . '?pubID=' . absint($_GET['pubID']);
        echo "<link rel='canonical' href='$link' />\n";
    } else {
        rel_canonical();
    }
}
于 2010-03-12T09:49:31.467 に答える