投稿

1月, 2021の投稿を表示しています

WordPressの/wp-json/を変更したい

 セキュリティ的な理由で/wp-json/へのアクセスは完全ブロックしている。 だけど、AMPプラグインがREST APIを使うようになっているので管理画面で不具合が起きる。 そこでデフォルトのエンドポイントである「/wp-json/」から変更したときの覚書。 環境: Nginx 1.18.0, PHP 7.4.14, WordPress 5.6 REST APIのエンドポイントを変更 参考 WP REST API Is it rather easy to rename the default wp-json uri part? - WordPress Development Stack Exchange エンドポイントを決定しているのはwp-includes/rest-api.phpのrest_get_url_prefix関数。 ここのapply_filtersにフックして変更すればOK function func_rest_url_prefix( $slug ) { flush_rewrite_rules(); return 'api'; } add_filter( 'rest_url_prefix', 'func_rest_url_prefix'); 「flush_rewrite_rules」しないと変更完了しないので注意。 apiやrest-apiなど一般的な名前だと狙われるのでよく考えて決めた方がいい。 ※ flush_rewrite_rules()は毎回実行されるので遅くなる。書いてはダメ。 参考:  WordPressのUPDATE wp_optionsが遅い? → flush_rewrite_rulesが原因 【関連記事】 WordPressのXML-RPCとREST API(WP-JSON)を無効にする(Nginxの設定)

textareaをheight=100%でスクロールしないようにしたい。

htmlのtextareaをコンテンツの高さに合わせたくて調査したときの覚書。 環境: jQuery 3.5.1 CSSのheight: 100%は親要素に合わせてしまう。 textareaの内包している値を全部見えるようにしてスクロールしないようにしたい。 結局JavaScriptでtextareaの内部コンテンツの高さを取得して設定する必要があった。 jQueryを使うとこんな感じ。 jQuery(function($) {   let $textarea = $('#textarea-id');   $textarea.on('keyup', function() {       $textarea.height('auto'); // Initialize       $textarea.height($textarea.prop('scrollHeight') - $textarea.height());   }); }); CSS textarea {   overflow: hidden;   resize: none;   padding: 12px 16px; } スマホの場合は実行しない方がいいかもしれない。