現在のWordpress URLがエンドポイントページであるかどうか確認できますか?プリティパーマリンクが使用 エンドポイントを持っているかどうかを確認するWorpdress URLを調べる
- はwp_head後、後半に尋ねたが、それ以前にのみ使用して
global $wp_query;
isset($wp_query->query_vars['articles'])
がが正しく動作していないです。私は答えとしてそれを受け入れることができません。それへのリンクはありません。
これはこの問題の詳細なようです。例えば、スラッグが'articles'
のアーカイブページのreturns true
の例、またはこのスラッグまたは単一のページ'articles'
または別のユニークなスラッグを使用するカスタムポストタイプの場合は、'articles'
を使用する別のユニークなスラッグは、書き換えルールのエンドポイント "指示対象"ではありません。
注:誰かがset_query_var('articles', $articles)
をテンプレートスコープに渡す場合は、returns true
です。 (それ以外の場合、の機能はのテンプレートファイルプラグインを見つけ出すまでになりました)。
変数がset_query_var()
内に設定されている場合、問題は「場所」または「アドレス」として他の例でも続きます。
トラベリングdb all for post_name
は、投稿とページスラッグを返します。カスタムアーカイブの書き換えルールはdbにありません。
URLのの末尾にエンドポイントがある可能性があります。そのため、条件付チェックは機能しません。
これまでのところ唯一の助けはどこかに見つけ、この関数である(cutted):
function is_endpoint(){
if(!get_option('permalink_structure')) return false;
global $wp;
if(!$wp->request) return false;
$parts = explode('/', $wp->request);
if(empty($parts)) return false;
// https://codex.wordpress.org/Reserved_Terms
$reserved = array(
'revision',
'nav_menu_item',
'custom_css',
'customize_changeset',
'action',
'attachment',
'attachment_id',
.. AND ALL OTHER FROM CODEX DOCS ...
'year'
);
//global $wp_query (clashes with added stuff);
global $wp_the_query;
foreach($parts as $maybe_endpoint){
if(!$maybe_endpoint || !trim($maybe_endpoint)) continue;
$maybe_endpoint = trim($maybe_endpoint);
if(post_type_exists($maybe_endpoint)) continue;
if(in_array($maybe_endpoint, $reserved)) continue;
/** if(is_slug($maybe_endpoint)) continue;**/ // MAYBE SOMETHING LIKE THIS?
/* Final conditional, all other possibilities removed: */
if(isset($wp_the_query->query_vars[$maybe_endpoint])) {
return true;
break;
}
}
return false;
}
しかし、にアーカイブ/登録タクソノミナメクジを除外するだけでなく書き換えルールを調べているようです。
これに可能な入力はありますか?
これは本当に面白かったです –