WIKIWIKIユーザー助け合い掲示板

popularプラグインの対象外ページ指定で正規表現を上手く使えない

2 コメント
views
6 フォロー

popularプラグインで特定ページとその子階層ページ全てを除外する為に以下のような記述をしました。

#popular(10,hoge.*,true)

しかし、実際に表示してみるとページ"hoge"や"hoge/piyo"が人気の10件として含まれてしまいました。

#popular(10,hoge,true)

上記のように記述した場合、ページ"hoge"は除外されましたが、"hoge/piyo"などは除外されませんでした。
何か見落としているのか使い方を間違えているのか、助言いただけたら幸いです。

名無し
作成: 2023/03/23 (木) 23:12:19
通報 ...
1
01v 2023/03/24 (金) 23:25:20

確かに期待通り動作しません。
試してみましたが現在の除外指定はページ名称と完全に一致している必要があります。
部分一致やメタ文字ではマッチしません。しかしかなり以前は".*"など使えていた記憶があります。
一方で"|"は機能しています。つまり以下のようにすれば両方除外されます。

#popular(10,hoge|hoge/piyo,true)

実際には除外したいページ全部列記することになりますが。

サンプルの使用例は表面的にあってますが、正規表現で指定するという説明は間違ってると思われます。
不具合なのか仕様変更なのかはわかりませんが。例えば大量にページがあるサイト対策かなあと想像します。メニューにpopularがあると呼び出すたびに全ページ名に対して正規表現判定が入って大変なことになりそうな気がします。

2
名無し 2023/03/25 (土) 21:30:56 248b0@b30b0

やはりそうですか……。
除外したいページを全て列記する形で対応しようと思います。回答ありがとうございます。