YouTube | Facebook | Twitter  Feed

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

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 = '';

関連記事

  • この記事を書いた人

羽田 康祐

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

-IT, Web