サポート » 使い方全般 » hrefタグのトラブル

  • 解決済 St.fox

    (@stfox)


    ワードプレス初心者です。
    外部サイトをリンクさせる事が出来ない状態ですので困っています。

    http://www.●●●.com 上(index.pfp)で

    <a href="">テスト</a>
    と書き込むと
    テストのリンク先が自動的にhttp://www.●●●.com/が入ってしまいます。
    ソースを見ると
    <a href="">テスト</a>
    とURLは入っていません。

    同じ事ですが<a href="http://www.xxxx.com">テスト1</a>とすると
    テスト1のリンク先はhttp://www.●●●.com/http://www.xxxx.comとなりますが
    ソースはちゃんと<a href="http://www.xxxx.com">テスト1</a>になっています。

    仮に他のディレクトリhttp://www.●●●.com/■■■■■/上で試してみましたが
    <a href="">テスト</a>と書き込むと
    テストのリンク先は何も入れてないのにhttp://www.●●●.com/■■■■■/になり
    ソースは<a href="">テスト</a>です。

    <a href="http://www.xxxx.com">テスト1</a>の場合は
    テスト1のリンク先はhttp://www.●●●.com/■■■■■/http://www.xxxx.comになりますが
    ソース上では<a href="http://www.xxxx.com">テスト1</a>です(どこにもhttp://www.●●●.com/■■■■■/がありません)

    ただワードプレスのタグを入れるとそれは普通に効きます
    例えば
    http://www.●●●.com/■■■■■/上で
    <a href="<?php bloginfo('url'); ?>">テスト2</a>と書くと
    テスト2のリンク先はhttp://www.●●●.com/になります。

    よろしくお願い致します。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • St.foxさん こんにちは。

    プラグインはすべて停止して試してみましたか?
    それでもリンク先が書き換わる様でしたら、
    テンプレートが読み込んでいるJavaScriptも削除して試してみてください。

    その他の確認点ですが、デフォルトのテーマTwenty Elevenでも問題は発生しますか?
    デフォルトテーマで問題が発生しない場合、利用中のテーマのfunctions.phpにリンクを変更する関数がないか確認してください。
    デフォルトテーマをカスタマイズして利用している場合は、他のテーマ(Twenty Tenや公式のテーマ)でどうなるか確認してみてください。

    スレッド開始 St.fox

    (@stfox)

    naoshiro様 そして popup様

    ご返信ありがとうございます。
    私が初心者だったので質問の内容が詳しくなかったと思い大変恐縮です。
    結論から申し上げますと、自己解決致しました。改めましてご回答ありがとうございます。

    以下 自己解決のプロセスを記載します。(これも上手く伝えられるか不安ですが。。。)

    まず質問の不足部分から。

    本当はカスタムフィールドにURLを打ち込み、そのタグをhrefの中に入れて外部リンクに飛ばそうと考えていました。

    <a href="<?php echo post_custom('url')?>" target="_blank">テスト</a>

    しかしワードプレスの仕様?らしく

    <a href="<strong>ココの部分</strong>">テスト</a>

    ココの部分に最低でもhttp://が入っていないとちゃんとしたURLとして認識せず現状ページをリロードのような形になるみたいでした。
    (bloginfoのテンプレートタグは除く)

    したがって質問の所に書いてあった

    <a href="http://www.xxxx.com">テスト1</a>とすると
    テスト1のリンク先はhttp://www.●●●.com/http://www.xxxx.comとなります

    はあとからURLを直打ちし確かめた所リンク先がhttp://www.xxxx.comになってました。
    申し訳ありません。
    http://www.xxxx.comの部分に私は<?php echo post_custom('url')?>を入れ

    <?php echo post_custom('url')?>のカスタムフィールドで
    私はhttp://www.xxxx.comを入れたので
    リンク先はhttp://www.xxxx.comになるだろうと思い確認を怠って質問をしていました。
    (ソース上では同じでしたので。。。)
    
    解決策としてhttp://は入っていないとURLとして認識しないので
    
    カスタムフィールドの中にはhttp://以下のwww.xxxx.comを入れてもらうようにし、
    php上では
    <a href="http://<?php echo post_custom('url')?>">テスト1</a>
    
    と言う事にし問題は解決致しました。
    
    それを応用し
    
    <?php if(get_post_meta($post->ID,'url')): ?>
    <a href="<?php echo post_custom('url')?>" target="_blank"><?php echo mb_substr(get_the_title(), 0, 40); ?></a>
    <?php else: ?>
    <a href="<?php the_permalink(); ?>"><?php echo mb_substr(get_the_title(), 0, 40); ?></a>
    <?php endif; ?>
    
    カスタムフィールドにURLを入れれば外部の方に飛び
    なければ投稿記事の方に飛ぶという風に作りました。
    
    余談ですが、この質問は友人の飲食店のHPを頼まれてまして、
    トップページにニュースフィードを作る際、
    ・メディアやお客さんのブログ記事の場合→投稿記事のタイトルとカスタムフィールドにURL打つ事によって飛ばす
    ・店側からの企画や記事の場合→投稿記事のタイトルとエディタ部分に書く事によってポストした記事の方へ飛ばす
    
    という事をしたかった時に出くわしたhrefのトラブルでした。
    
    長い文章申し訳ございませんでした。
    最後にnaoshiro様 そして popup様 返信して頂きありがとうございました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「hrefタグのトラブル」には新たに返信することはできません。