ハッシュタグテスト

"%"が"-"に置換されないようにコードを変更し、最後にUnicodeエスケープ

Unicodeエスケープの前にURLエンコード文字列をデコードする。

Unicodeエスケープはやめた。

return esc_html( $hashtag );

の前に

$hashtag = urldecode( $hashtag );

を入れるだけ。

ドイツ語のハッシュタグ #Wälder → 日本語と同様、文章中だとハッシュタグにならない。そして #WordPress にドイツ語のままハッシュタグを追加したが、 #Mastodon で見ると「walder」とウムラウトが無くなっている。

「'name' => esc_hashtag( $post_tag->slug )」を「'name' => esc_hashtag( $post_tag->name )」に変えても結果は変わらない。

ハッシュタグを並べる[ap_hashtags]に該当する
/wp-content/plugins/activitypub/includes/class-shortcodes.php
のhashtags()関数を修正してテスト。
https://ishii00141.stars.ne.jp/20251125-0039-4145/#comment-1169

抜粋テストも兼ねる。訂正。さらに訂正。さらに訂正。さらに訂正。さらに訂正。さらに訂正。抜粋コードの修正はいったん終了。元に戻ってしまったので再修正。さらに修正。さらに修正。

暫定的に英語にしていた省略記号を日本語に戻してみる。

未分類
管理人のマストドンアカウントへのリンクなど

コメント

  1. ishii ishii より:

    おかしい。ap_outboxのJSONは次のようになっていて、「'name' => esc_hashtag( $post_tag->name )」に変えた効果が表れている。それにもかかわらず、#Mastodon で変化が無かったのはどうしてだ?

    "published":"2025-11-14T17:45:02Z","tag":[{"type":"Hashtag","href":"https://ishii00141.stars.ne.jp/tag/test-for-tags-with-spaces/","name":"#TestForTagsWithSpaces"},{"type":"Hashtag","href":"https://ishii00141.stars.ne.jp/tag/walder/","name":"#W\u00e4lder"},{"type":"Hashtag","href":"https://ishii00141.stars.ne.jp/tag/%e3%83%86%e3%82%b9%e3%83%88/","name":"#\u30c6\u30b9\u30c8"}],"updated":"2025-11-24T08:06:37Z",
タイトルとURLをコピーしました