• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「関数リファレンス/flush rewrite rules」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(見出しと参照追加)
(クリーンアップ。)
1行目: 1行目:
{{NeedTrans}}
 
 
 
== 説明 ==
 
== 説明 ==
  
 
既存のリライトルールを削除し、再生成します。
 
既存のリライトルールを削除し、再生成します。
  
それはWordPressのリライトルールの自動再生成を可能にするなどのカスタム投稿タイプで使用する際に便利です。(通常は新しいカスタム投稿タイプのために手動で実行する必要があります). しかし, '''これは非常にコストのかかる操作です'''。 本当に必要である場合のみに実行して下さい。詳細については、使い方のセクションを参照してください。.
+
これは WordPress のリライトルールの自動再生成を可能にするなどのカスタム投稿タイプで使用する際に便利です(通常は新しいカスタム投稿タイプのために手動で実行する必要があります)。しかし、'''これは非常にコストのかかる操作です'''。本当に必要である場合のみに実行して下さい。詳細については、[[#Usage|使い方]]のセクションを参照してください。
  
 +
<div id=“Usage”>
 
== 使い方 ==
 
== 使い方 ==
 +
</div>
  
'''重要:'''
+
‘’’重要:’’'
 
+
 
* リライトルールの再生成はとても高コストな操作です。 <tt>[[Plugin API/Action Reference/init|'init']]</tt> フックでこれを実行することを勧めるチュートリアルや例が存在しますが、 '''バッドプラクティスです'''。
 
* リライトルールの再生成はとても高コストな操作です。 <tt>[[Plugin API/Action Reference/init|'init']]</tt> フックでこれを実行することを勧めるチュートリアルや例が存在しますが、 '''バッドプラクティスです'''。
 
* リライトルールの再生成は有効化、無効化、または明示的にリライトルールを変更する必要があるときのみにすべきです。 '''常にトリガされるすべてのフックで実行しないでください'''。もっと詳細な情報は WP Engineer's post: [http://wpengineer.com/2044/custom-post-type-and-permalink/ Custom Post Type and Permalink] のコメント欄にあります。
 
* リライトルールの再生成は有効化、無効化、または明示的にリライトルールを変更する必要があるときのみにすべきです。 '''常にトリガされるすべてのフックで実行しないでください'''。もっと詳細な情報は WP Engineer's post: [http://wpengineer.com/2044/custom-post-type-and-permalink/ Custom Post Type and Permalink] のコメント欄にあります。
21行目: 20行目:
 
== パラメーター ==
 
== パラメーター ==
  
{{Parameter|$hard|真偽値|  [[htaccess|.htaccess]] も更新するか (ハードフラッシュ) or <tt>rewrite_rules</tt> のみを更新するか (ソフトフラッシュ).|optional|<tt>true</tt> (hard flush)}}
+
{{Parameter|$hard|真偽値|  [[htaccess|.htaccess]] も更新するか (ハードフラッシュ) それとも <tt>rewrite_rules</tt> のみを更新するか (ソフトフラッシュ)|オプション|<tt>true</tt> (ハードフラッシュ)}}
  
 
== 例 ==
 
== 例 ==
  
 
+
これはプラグインを有効化/無効化するときに、リライトルールをフラッシュする方法です:
これはプラグインを有効化/無効化するときに、リライトルールをフラッシュする方法です。:
+
  
 
<pre>
 
<pre>
40行目: 38行目:
  
  
これはテーマを有効化するときに、リライトルールをフラッシュする方法です。:
+
これはテーマを有効化するときに、リライトルールをフラッシュする方法です:
  
 
<pre>/* Flush rewrite rules for custom post types. */
 
<pre>/* Flush rewrite rules for custom post types. */
47行目: 45行目:
  
  
もしあなたがテーマを開発しているなら、このコードスニペットを使うことができます。これが記述されたファイルの変更、または48時間毎に、リライトルールをフラッシュします。
+
もしあなたがテーマを開発しているなら、このコードスニペットを使うことができます。これが記述されたファイルの変更、または48時間毎に、リライトルールをフラッシュします:
 +
 
 
<pre>
 
<pre>
 
// do not use on live/production servers
 
// do not use on live/production servers
73行目: 72行目:
 
== ソースファイル ==
 
== ソースファイル ==
  
<tt>flush_rewrite_rules()</tt> は {{Trac|wp-includes/rewrite.php}}にあります。
+
<tt>flush_rewrite_rules()</tt> は {{Trac|wp-includes/rewrite.php}} にあります。
  
 
==関連==
 
==関連==
80行目: 79行目:
  
 
{{Rewrite API}}
 
{{Rewrite API}}
 +
 +
{{原文|Function Reference/flush_rewrite_rules|151331}} <!-- 10:36, 5 May 2015 Juliobox 版 -->
 +
 +
{{DEFAULTSORT:Flush_rewrite_rules}}
 
[[Category:関数]]
 
[[Category:関数]]
[[Category:Functions]]
 
  
 
{{Copyedit}}
 
{{Copyedit}}

2015年9月2日 (水) 23:13時点における版

説明

既存のリライトルールを削除し、再生成します。

これは WordPress のリライトルールの自動再生成を可能にするなどのカスタム投稿タイプで使用する際に便利です(通常は新しいカスタム投稿タイプのために手動で実行する必要があります)。しかし、これは非常にコストのかかる操作です。本当に必要である場合のみに実行して下さい。詳細については、使い方のセクションを参照してください。

使い方

‘’’重要:’’'

  • リライトルールの再生成はとても高コストな操作です。 'init' フックでこれを実行することを勧めるチュートリアルや例が存在しますが、 バッドプラクティスです
  • リライトルールの再生成は有効化、無効化、または明示的にリライトルールを変更する必要があるときのみにすべきです。 常にトリガされるすべてのフックで実行しないでください。もっと詳細な情報は WP Engineer's post: Custom Post Type and Permalink のコメント欄にあります。
  • 特にプラグインの有効化時には、リライトルールのフラッシュをする前に、カスタム投稿やタクソノミーがちゃんと登録されていることを確かめて下さい。: Activation Checklist for WordPress Plugin Developers
<?php flush_rewrite_rules( $hard ); ?>

パラメーター

$hard
真偽値) (オプション.htaccess も更新するか (ハードフラッシュ) それとも rewrite_rules のみを更新するか (ソフトフラッシュ)。
初期値: true (ハードフラッシュ)

これはプラグインを有効化/無効化するときに、リライトルールをフラッシュする方法です:

register_deactivation_hook( __FILE__, 'flush_rewrite_rules' );
register_activation_hook( __FILE__, 'myplugin_flush_rewrites' );
function myplugin_flush_rewrites() {
	// call your CPT registration function here (it should also be hooked into 'init')
	myplugin_custom_post_types_registration();
	flush_rewrite_rules();
}


これはテーマを有効化するときに、リライトルールをフラッシュする方法です:

/* Flush rewrite rules for custom post types. */
add_action( 'after_switch_theme', 'flush_rewrite_rules' );


もしあなたがテーマを開発しているなら、このコードスニペットを使うことができます。これが記述されたファイルの変更、または48時間毎に、リライトルールをフラッシュします:

// do not use on live/production servers
add_action( 'init','maybe_rewrite_rules' );
function maybe_rewrite_rules() {

	$ver = filemtime( __FILE__ ); // Get the file time for this file as the version number
	$defaults = array( 'version' => 0, 'time' => time() );
	$r = wp_parse_args( get_option( __CLASS__ . '_flush', array() ), $defaults );

	if ( $r['version'] != $ver || $r['time'] + 172800 < time() ) { // Flush if ver changes or if 48hrs has passed.
		flush_rewrite_rules();
		// trace( 'flushed' );
		$args = array( 'version' => $ver, 'time' => time() );
		if ( ! update_option( __CLASS__ . '_flush', $args ) )
			add_option( __CLASS__ . '_flush', $args );
	}

}

更新履歴

新規導入: 3.0

ソースファイル

flush_rewrite_rules()wp-includes/rewrite.php にあります。

関連

http://www.torounit.com/blog/2015/09/02/2077/ - Toro_Unitさん いい加減 flush_rewrite_rules を書くのはやめてください!!


記事

フック

  • フィルター: root_rewrite_rules /en - ブログのルート用に生成されたリライトルールをフィルターする。
  • フィルター: post_rewrite_rules /en - パーマリンク URL 向けに生成されたリライトルールをフィルターする。
  • フィルター: page_rewrite_rules /en - 固定ページ向けに生成されたリライトルールをフィルターする。
  • フィルター: date_rewrite_rules /en - 日付ごとのアーカイブ URL 向けに生成されたリライトルールをフィルターする。
  • フィルター: search_rewrite_rules /en - 検索 URL 向けに生成されたリライトルールをフィルターする。
  • フィルター: comments_rewrite_rules /en - 最新コメントフィード URL 向けに生成されたリライトルールをフィルターする。
  • フィルター: author_rewrite_rules /en - 投稿者アーカイブ URL 向けに生成されたリライトルールをフィルターする。
  • フィルター: rewrite_rules_array /en - すべてのリライトルールを一度にフィルターする。
  • フィルター: {$permastruct}_rewrite_rules /en - タクソノミーやカスタム投稿タイプなどのカスタムパーマストラクト向けのリライトルールを作成・編集するために使える。
  • アクション: generate_rewrite_rules /en - すべてのルールが生成された後に実行される。

関数

  • add_rewrite_tag() / en - WordPress にカスタム変数 (特に、カスタムクエリストリング変数) を認識させるために使える。
  • add_rewrite_rule() / en - 新しいカスタムリライトルールを指定できる。
  • add_rewrite_endpoint() / en - /trackback/ などの新規エンドポイントを追加する。
  • flush_rules() / en - リライトルールを再生成してデータベースに保存する。
  • flush_rewrite_rules() / en - リライトルールを削除して再生成する。
  • generate_rewrite_rules() / en - パーマリンク構造からリライトルールを生成する。
  • add_permastruct() / en - 新規パーマストラクトを追加する。
  • add_feed() / en - /atom1/ のような新規フィードタイプを追加する。


最新英語版: WordPress Codex » Function Reference/flush_rewrite_rules最新版との差分

この記事は翻訳時に編集が必要であるとマークされていました。その為Codex原文が大きく編集されている可能性があります。内容を確認される際は原文を参照していただき、可能であれば本項目へ反映させてください。よりよいCodexを作成するためのお手伝いをお願いします。