-
-
Labels: WordPress
WordPressで日本語のパーマリンクで投稿しようとしたときに警告を出し投稿できないようにする方法
キーボードはREALFORCE派のota(@purratto)です。REALFORCE91UG-Sが一番お気に入りです。
WordPressで日本語のパーマリンクで投稿しようとしたときに警告を出し投稿できないようにする実装を行ったので、その実装方法を解説します。
デモはこちら
実装方法
テーマのfunctions.phpに下記のコードを追記します。
function prevent_japanese_permalink() { // この例ではfunctions.phpにJavaScriptをべた書きしていますが、必要に応じて別ファイルに切り出してください。 echo "<script type='text/javascript'> jQuery(document).ready( function($) { $('#publish').on( 'click', function(event) { var permalink = $('#editable-post-name-full').text(); if (!permalink.match(/^[a-zA-Z0-9_-]+$/)) { alert('日本語のパーマリンクでは投稿できません。アルファベットに変更してください。'); event.preventDefault(); } } ); } ); </script>"; } // 新規投稿時 add_action('admin_footer-post-new.php', 'prevent_japanese_permalink', 11, 0); // 更新時 add_action('admin_footer-post.php', 'prevent_japanese_permalink', 11, 0);
指定した投稿以降の投稿のみ日本語のパーマリンクでの投稿を防ぐ場合には上記の24、25行目を削除し、下記のコードを追記します。
// 指定した投稿ID以降の投稿は日本語のパーマリンクでの投稿を防ぐ function prevent_japanese_permalink_after_specified_post_id() { // 投稿IDが100以降の投稿のみ日本語のパーマリンクの投稿を防いでいます。100の数字を指定したい投稿IDに変えて使ってください。 if (get_the_ID() <= 100) { return false; } prevent_japanese_permalink(); } // 更新時 add_action('admin_footer-post.php', 'prevent_japanese_permalink_after_specified_post_id', 11, 0);
すでに日本語のパーマリンクでの投稿があり、それらのURLを変えるつもりはなく、記事の編集が発生する場合は上記の実装にしておくのが良いと思います。このブログも過去に日本語のパーマリンクでの投稿があるため、指定した投稿以降の投稿のみ日本語のパーマリンクでの投稿を防ぐ実装にしています。
参考になれば幸いです。
ランサーズではサービスを成長させてくれるエンジニア、デザイナーを募集しています!
ご興味がある方は、以下URLよりご応募ください。
【中途採用】
フロントエンドエンジニア
サーバーサイドエンジニア
コーポレートエンジニア
SREエンジニア
【新卒採用・その他】
21・22新卒
その他採用情報
関連記事
-
-
WordPressのプラグインを改造して本家に取り込んでもらおうと思った話
SREチームの金澤です。 Lancers(ランサーズ) Advent Calendar 2018 7日目の記事になります。 昨日は、odrum428さんの「slackで動くピアボーナス機能を実装した話」でした。 今年は、Lancers以外のAdvent Cal …
-
-
WordPressでCSSがすぐに反映されないのを解消する方法
ota(@purratto)です。 WordPressでCSSを編集したときに即座に反映されなかったことはありませんか? これはブラウザキャッシュが原因です。 style.css読み込み箇所を下記のように変更するだけでstyle.cssを即座に確実に反映できる …
-
-
WordPressで投稿者ごとの記事一覧ページを実装する方法
読書はカフェよりも大学図書館派のota(@purratto)です。実は一般にも開放しているところが多く、広々としていて開放的で、閲覧席がたくさんあるので席が埋まっていて座れないことがほぼなくて良いです(大学にもよるんでしょうが笑)。 WordPressで投稿者 …