WPML

訪問者にはサイトへのリンクを張ったり、他の人とリンクを共有したりしてもらいたいものです。しかし、WordPressは共有しにくい非常に長いURLを生成することがよくあります。ここでは、短くて壊れないURLを生成する方法を紹介します。

こちらのページをご覧ください。

http://wpml.org/documentation/getting-started-guide/language-setup/

このURLは68文字あります。

こちらは中国語の翻訳です。

http://wpml.org/zh-hans/documentation-4/%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97/%E8%AF%AD%E8%A8%80%E8%AE%BE%E7%BD%AE/

こちらは114文字です。Twitterには少し長すぎますし、メールではリンクが途切れてしまう可能性が高いでしょう。

もちろん、多数あるURL短縮サービスのいずれかを使用することもできますが、本当に必要でしょうか。このような単純なことのために、訪問者を別のドメイン経由でプロキシさせる必要があるでしょうか。

wpml.orgの各ページの下部をご覧ください。「このページへのショートリンク」と記載されているのがわかります。

これらのリンクの長さは約22文字です。先ほどよりも少し短くなっています。

そして、それをクリックすると、そのページへのデフォルトのリンクが表示されます。これは私たちが発明したものではありません。これがWordPressの仕組みです。各ページにはIDがあります。そのIDにリンクすると、ページにリンクされます。WordPressは訪問者を現在のパーマリンクにリダイレクトするため、訪問者には「SEOフレンドリー」な美しいURLが表示されます。

お使いのテーマに追加するには、まず、これらのデフォルトリンクを生成する関数を作成します。この関数は、コンテンツのタイプを確認し、そのURLを生成します。

このコード全体をコピーして、サイトのfunctions.phpに追加できます。

function wpml_default_link($anchor){

    global $sitepress;

    $qv = false;



    if(is_single()){

        $qv = 'p=' . get_the_ID();

    }elseif(is_page()){

        $qv = 'page_id=' . get_the_ID();

    }elseif(is_tag()){

        $tag = &get_term(intval( get_query_var('tag_id') ), 'post_tag', OBJECT, 'display');

        $qv = 'tag=' . $tag->slug;

    }elseif(is_category()){

        $qv = 'cat=' . get_query_var('cat');

    }elseif(is_year()){

        $qv = 'year=' . get_query_var('year');

    }elseif(is_month()){

        $qv = 'm=' . get_query_var('year') . sprintf('%02d', get_query_var('monthnum'));

    }elseif(is_day()){

        $qv = 'm=' . get_query_var('year') . sprintf('%02d', get_query_var('monthnum')) . sprintf('%02d', get_query_var('day'));

    }elseif(is_search()){

        $qv = 's=' . get_query_var('s');

    }elseif(is_tax()){

        $qv = get_query_var('taxonomy') . '=' . get_query_var('term');

    }



    if($qv){

        $link = '<a rel="nofollow" href="' . $sitepress->language_url($sitepress->get_default_language()) . '?' . $qv . '">' . $anchor . '</a>';

    }else{

        $link = '';

    }



    return $link;

}

次に、テーマを編集してこの関数を呼び出します。

ここではfooter.phpに追加しました。

<?php echo(wpml_default_link(__('Short link to this page','wpml-theme'))); ?>

以上で完了です。これで、すべてのページにこのすっきりとしたショートリンクが追加され、人々に共有を促すことができます。

ぜひご自身でお試しください。

この記事が役に立ちましたか?この記事を共有: