回答ありがとうございます。
わたしが質問を編集してしまったせいで、もしかすると話が食い違っているかもしれませんが、つまりはこのフィルタを使っただけの下記のようなプラグインでは、xmlrpcは無効化できないということですか?
https://ja.wordpress.org/plugins/disable-xml-rpc/
貼った引用が DeepL で翻訳したものをそのまま貼ったので通じにくかったかもしれません、すいません。
xmlrpc_enabled フィルターフックは XMLRCP 全体の有効無効を切り替えるためのものではなく、 XMLRCP の認証機能の有効無効を切り替えるものです。
おっしゃられている「xmlrpcを無効」が XMLRCP 機能全体の無効という意味であれば、一部しか無効化できません。
ありがとうございます。
リンク先の内容確認しました。
解せないのが、先に挙げたプラグインは「XML-RPC API を無効にします」とされており、現在も200,000+のアクティブインストールとなっています。
作者も含め、これだけのユーザーが誤って認識しているのでしょうか?
Pretty simply, this plugin uses the built-in WordPress filter “xmlrpc_enabled” to disable the XML-RPC API on a WordPress site running 3.5 or above.
自分で挙動を試してみたいのですが、どうすれば、xmlrpcが無効になっているのか確認できるでしょう?
POST しないといけないので、コマンドが使えるなら以下のように記述すれば良いと思います。
curl http://example.com/xmlrpc.php -d '<methodCall><methodName>pingback.ping</methodName><params></params></methodCall>'
パラメータが必要なものはどう書けばいいか失念してしまいましたが・・・
その場合は PHP の xmlrpc_encode_request を使ってプログラムを書いたらいいかもしれません、
以下ページあたりが参考になるんじゃないでしょうか。
https://tenman.info/labo/snip/archives/1911
htaccessでDeny 指定しない場合、curl コマンドでパースされるので、確認できているようです。質問のフィルターフックが意図と違う挙動なのも確認できました。
ありがとうございます。
ただ、例題のプラグインなどの存在がつくづく不可解です。