MULTISITE
が有効になっている3.0.1サイトがあり、そのうちの1つを/blog
に配置したいのですが、そのパスで新しいサイトを作成しようとすると、次のエラーが発生します。
The following words are reserved for use by WordPress functions and cannot be used as blog names: page, comments, blog, files, feed
どうやって/blog
のサイトにアクセスできますか?
できません。
これはメインサイトのパーマリンク構造の一部です。それを回避する方法はありません。あなたはここでより多くの情報を見つけることができます:
はい、/blog
のサイトをMULTISITE
で実行できますが、それにはコードを追加する必要があります。これは、WordPressには、最初にロックを解除する必要があるという点で、チャイルドプルーフロックが組み込まれているためです。これは、パラメータとしてブロックされている名前を持つ配列を渡すsubdirectory_reserved_names
フィルタにフック関数を追加することで実現できます。使用したいエントリを削除し、フィルタを適用した配列を返します。
このチャイルドプルーフロックは、 'page'、 'comments'、 'blog'、 'files'、 'feed' という語がデフォルトで使用できないように作成されているので注意してください。例えば/blog
はメインサイトのために予約されています。
詳細については チケット#13304 を参照してください。予約された名前を上書きすることを可能にする関連変更は 14928 でした。
実際、ルートサイトはパーマリンク構造の一部としてブログを持つことができます。実際、ルートサイトの投稿に対するNice-urlはプレフィックスブログを強制します。
あなたがrootアカウントを使っても構わないのであれば、あなたはそれを持つことができます。ただし、メインのブログはサブサイトのパネルなどに表示される可能性があるため、注意が必要です(AFAIK)。
方法はありますが、私は以前にそれをしたことがありますが、それはWPMU 2.Xにありました - 彼らが3で削除することをより困難にしたかどうかわからない、私は彼らがどうなるのか想像できない。
これは/ blog部分を削除するためのプラグインです - http://buddydev.com/http//buddydev.com/public-download/cc-remove-blog-slug-v-1.1.Zip - サイトへの実際の/ blog /パーマリンクを書くことに関しては、wpはそれをフィルタリングするでしょう、簡単な方法はそれがすぐにphpMyAdminで見つけられるように十分なURLで "blog"サブサイトを作成することです.com/wtfisgoingonhere ")次にphpmyadminでログインして検索し、すべてのインスタンスを/ blog /に置き換えます。余分なスラッシュを削除したり追加したりしないように注意してください。がんばろう!
このフィルタを使用してblog
を許可します。
add_filter('subdirectory_reserved_names', function($reserved_names){
return array_diff($reserved_names, array('blog') );
} );