YouTube | Facebook | X(Twitter) | RSS

公開権限のないユーザが新規固定ページや投稿で「レビュー待ち」にステータス変更するとスラッグ名が消える

2013/3/1 (金)

会社では記事を執筆する人と、それをチェックして公開だけ行う管理職に分けて WordPress を運用する場合があります。このとき、公開権限のない投稿者や寄稿者が内容を作成し、レビューアーに渡すためにステータスを「レビュー待ち」として保存すると、スラッグ名が消えてしまいます。

スラッグ名が空の場合は、デフォルトではタイトルを引っ張ってくるので、タイトルが日本語の場合は困ってしまいます。

この現象に悩まされてたんですが、Wordpress の仕様であることがわかりました。

[解決済み] スラッグを決めるのは公開者?

WordPress 3.5.1 でも仕様は変更されていないようです。推奨されないですが、運用上困るのでシステム ファイルを書き換えて対応しました。

wp-includes/post.php 内の wp_insert_post() 関数にある以下の行をコメントアウトすることで解消できます。ただし、システム ファイルを操作することになるので、Wordpress のバージョンアップごとにコードの修正が必要です。

	// Don't allow contributors to set the post slug for pending review posts
	if ( 'pending' == $post_status && !current_user_can( 'publish_posts' ) )
		$post_name = '';
  • この記事を書いた人

羽田 康祐

伊達と酔狂のGISエンジニア。GIS上級技術者、Esri認定インストラクター、CompTIA CTT+ Classroom Trainer、潜水士、PADIダイブマスター、四アマ。WordPress は 2.1 からのユーザーで歴だけは長い。 代表著書『"地図リテラシー入門―地図の正しい読み方・描き方がわかる』 GIS を使った自己紹介はこちら。ESRIジャパン(株)所属、元青山学院大学非常勤講師を兼務。日本地図学会第31期常任委員。発言は個人の見解です。

-IT, Web