• get_permalink();で現在表示中の記事のURLを入手しています。
     例:
     1) http://example.com/aaa/hogehoge
    これにたいして
    2) http://example.com/aaa/hogehoge#name

    とした時にget_permalink();だと1)の情報が返されるのですが
    2)もしくは#nameの情報を入手する手段は無いものなのでしょうか

    #nameが指定されている時だけ個別の処理を行おうと考えています
    なにかとっかかりになることだけでもかまいませんので
    お教えください

    get_permalinkの詳細の使用方法は、以前の
    http://ja.forums.wordpress.org/topic/2575
    を参照し

    <?php if ( get_option( ‘show_on_front’ ) == ‘page’ && $page_for_posts = get_option( ‘page_for_posts’ ) ) {
    echo $link = get_permalink();
    } ?>
    として取得しています

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • こんにちは、

    フラグメント識別子は、PHP側で取得できないかもしれないです。

    http://www.7key.jp/rfc/2396/rfc2396_4.html#li28

    フラグメント識別子は、リソースの取得動作が成功した後にユーザエージェントが解釈する付加的な参照情報である

    なので、
    $_SERVER['QUERY_STRING'];
    で、#以降が取得できないのかもしれないですね

    トピック投稿者 mimisuke

    (@mimisuke)

    nobitaさん、ありがとうございます
    はい。
    おっしゃる通り、$_SERVER[‘QUERY_STRING’];
    では、#以降は入手できませんでした。

    しかし、コメントいただいたことを整理してユーザエージェント側なら
    javascriptだとできるかもと思いまして
    jqueryで以下のような文を書いたところ
    location.href
    やりたいことができました
    ありがとうございます。

    <script type=”text/javascript”>
    $(document).ready(function(){
    if ( 0 < (location.href).indexOf(‘#pc’, 0) ) {
    $(‘#at_first’).css(‘display’, ‘none’);
    }
    });

    途中の#pcのところに文章のポインタを飛ばしても、
    視覚障碍者の使うスクリーンリーダーは
    先頭から読んでしまうらしく、これをそれ以前のところを
    画面から消す方法を探していました。

    コメントに感謝します

    トピック投稿者 mimisuke

    (@mimisuke)

    コード修正しときます(location.hashのほうが適切なもようなので)
    ( http://www.tohoho-web.com/js/location.htm )

    $(document).ready(function(){
    if ( -1 < (location.hash).indexOf(‘#pc’, 0) ) {
    $(‘span#at_first’).css(‘display’, ‘none’);
    location.hash=’#pc’;}
    });

    $(‘span#at_first’).hide() だとソースには記載が残っているので
    表示はされませんがスクリーンリーダーでは読み上げてしまうようです
    (スクリーンリーダーにもよるのかもしれませんが)

    wordpressがらみではなくなってしまった感がありますが
    情報として残しておきます

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「#name部分を取得する方法」には新たに返信することはできません。