サポート » 使い方全般 » wp_get_archivesの「date」を除去

  • wp_get_archives(‘type=yearly’);を使用し、アーカイブのリンクを生成しています。
    このリンクの中の、「date」を除去したいです。
    addfilterで文字列の置換をするのかと思いますが、わかりかねています。
    現在、
    function my_archives_link($html){
    if(preg_match(‘/[0-9]+?<\/a>/’, $html))
    $html = preg_replace(‘/([0-9]+?)<\/a>/’, ‘・$1年’, $html);
    if(preg_match(‘/title=[\’\”][0-9]+?[\’\”]/’, $html))
    $html = preg_replace(‘/(title=[\’\”][0-9]+?)([\’\”])/’, ‘$1年$2’, $html);
    return $html;
    }
    add_filter(‘get_archives_link’, ‘my_archives_link’, 10);

    で年と・をつけるようなカスタマイズをしていて、ここのリターンに置換したものを追加するような形でしょうか?

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック投稿者 tatsuyoshi

    (@tatsuyoshi)

    失礼しました、
    $html = preg_replace(‘/date/’, ”, $html);
    で対応しました。

    勝手にリプレースしましたが、何か他に支障はありますか?

    モデレーター jim912

    (@jim912)

    date が入るということは、パーマリンクの設定に、%post_id% が含まれているものと思われます。

    この場合、投稿のIDが4桁になった場合に、URLが競合し、いずれかが404となる可能性があります。

    トピック投稿者 tatsuyoshi

    (@tatsuyoshi)

    ありがとうございます。
    ご指摘の通り、パーマリンクの設定に「%post_id%」が入っております。

    dateに関して、重複を防ぐ目的があるのでしたら仕様と見るしかありませんね。
    ただ先方はどうしてもdateを抜きたいみたいで(SEO?)、取り急ぎstr_replaceでしています。

    先々を考えて、IDが4桁になっても大丈夫な設定等があったらご教授願いたいです。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「wp_get_archivesの「date」を除去」には新たに返信することはできません。