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

関連記事

  • この記事を書いた人

羽田 康祐

Esri認定インストラクター、GIS上級技術者、測量士補、潜水士。GISy / GISc とその関連分野である地理学・地図学について日々の出来事で学んだ記憶を記録するためにブログを書いています。行動原理は伊達と酔狂。好きな地形は圏谷。好きな地図投影法はパースクインカンシャル図法。呉市生まれ広島市出身。GIS を使った自己紹介はこちら

-IT, Web

© 2021 WINGFIELD since1981