Yahoo! JAPAN OpenID を省略表示する(その2)
Movable TypeのMTCommentAuthorLinkタグで出力されるYahoo! JAPAN OpenID を省略表示するカスタマイズです。ご質問を頂きましたので本エントリーで紹介致します。
1.Yahoo! JAPAN OpenID表示について
Yahoo! JAPAN OpenIDでMovable Typeにコメント投稿すると、コメント欄に次のようにYahoo! JAPAN OpenIDが表示されます。Yahoo! JAPAN OpenIDでは、IDに紐づいたユーザー名を公開しない仕様になっているので、OpenIDをそのままユーザー名として扱うことになり、非常に長いです。
以下、Yahoo! JAPAN OpenIDを省略表示するカスタマイズをいくつか紹介します。なお、「Yahoo! JAPAN OpenID を省略表示する」ではMTCommentAuthorタグのカスタマイズについて紹介しています。
2.36文字のパラメータだけを表示
MTCommentAuthorLinkタグに、次のregex_replaceモディファイアを追加します。
<mt:CommentAuthorLink regex_replace="/https:\/\/me\.yahoo\.co\.jp\/a\/(\S{36})<\/a>$/","$1" />
変更後のコメント欄
「クラシックブログ」テーマの場合、「コメント詳細」テンプレートモジュールを以下のように修正します(青色部分)。
<div id="comment-<$mt:CommentID$>" class="comment<mt:IfCommentParent> comment-reply</mt:IfCommentParent><mt:IfCommenterIsEntryAuthor> entry-author-comment</mt:IfCommenterIsEntryAuthor>">
<div class="inner">
<div class="comment-header">
<div class="asset-meta">
<span class="byline">
<$mt:CommentAuthorIdentity$>
<mt:IfCommentParent>
<span class="vcard author">$mt:CommentAuthorLink regex_replace="/https:\/\/me\.yahoo\.co\.jp\/a\/(\S{36})<\/a>$/","$1"$></span>から<a href="<mt:CommentParent><$mt:CommentLink$></mt:CommentParent>"><mt:CommentParent>$mt:CommentAuthorLink regex_replace="/https:\/\/me\.yahoo\.co\.jp\/a\/(\S{36})<\/a>$/","$1"$></mt:CommentParent></a>への返信
<mt:Else>
<span class="vcard author"><$mt:CommentAuthorLink regex_replace="/https:\/\/me\.yahoo\.co\.jp\/a\/(\S{36})<\/a>$/","$1"$></span>
</mt:IfCommentParent>
| <a href="<$mt:CommentLink$>"><abbr class="published" title="<$mt:CommentDate format_name="iso8601"$>"><$mt:CommentDate$></abbr></a>
<mt:IfCommentsAccepted>
| <$mt:CommentReplyToLink$>
</mt:IfCommentsAccepted>
</span>
</div>
</div>
<div class="comment-content">
<$mt:CommentBody$>
</div>
</div>
</div>
3.「yahoo」と任意の文字数のパラメータを表示
「yahoo:」という文字列と、先頭10文字のパラメータを表示する場合、MTCommentAuthorLinkタグに、次のregex_replaceモディファイアを追加します。
<mt:CommentAuthorLink regex_replace="/https:\/\/me\.yahoo\.co\.jp\/a\/(\S{10})\S{26}<\/a>$/","yahoo:$1" />
変更後のコメント欄
regex_replaceモディファイアに含まれる「{10}」や「{26}」の部分を、合計36になるように変更すれば、任意の文字数を取り出せます。
4.「https://me.yahoo.co.jp/a/」と任意の文字数のパラメータを表示
URLの「https://me.yahoo.co.jp/a/」と、先頭10文字のパラメータを表示する場合、MTCommentAuthorLinkタグに、次のregex_replaceモディファイアを追加します。
<mt:CommentAuthorLink regex_replace="/(https:\/\/me\.yahoo\.co\.jp\/a\/\S{10})\S{26}<\/a>$/","$1" />
変更後のコメント欄
- Movable Typeのコメント完了ページの内容を記事ごとに振り分ける方法
- Movable Typeで特定カテゴリのコメントを表示する方法
- Movable TypeでreCaptchaを利用する
- Movable Typeでカテゴリ別+ブログ記事別に新着コメントを表示する
- Movable Type 5でコメント投稿フォームをポップアップする
- Movable TypeのコメントでFacebookアカウント認証を有効にする
- コメントにHTMLタグ挿入ボタンをつける(MT4/MT5版)
- コメント投稿にTwitterのOAuth認証を導入
- Movable Type 5でのMTCommentsタグの動作
- ブログ記事とコメントをひとつのフィードで配信する
- Movable Typeのコメント一覧からウェブページのコメントを除外して表示する
- Movable Typeのコメントにimg要素を許容する
- Movable Type(MT)のコメント投稿者の承認と禁止について
- Movable Type 5(MT5)のコメントのページ分割機能(その2:カスタマイズ)
- Movable Type 5 のコメントのページ分割機能(その1:概要)