WordPressはテーマなしで機能しますか?もしそうなら、それはどのように動作しますか?簡単に説明してください。
WordPressがテーマなしでコンテンツを表示している場合、何が出力を制御しますか?
そのための曲があると思います。
" theme がないと想像してみてください。試してみるのは簡単です。私たちの下に地獄はありません。
その想像上の夢の中で。
あなたはまだあなたのサイトからRSSフィードを取得することができます。
example.com/feed/
あなたはまだあなたのバックエンドにログインすることができます:
example.com/wp-login.php
それでもバックエンドにアクセスして(ほぼ)通常どおり作業することができます。
example.com/wp-admin/
schedule件の投稿は機能しないため、Missed scheduleというメッセージが表示されます。
wp-cron
は信頼できません。
あなたはまだ/wp-admin/admin-ajax.php
にアクセスできます
template_redirect
およびtempate_include
フックを使って出力を制御できます。たとえば、この小さなプラグインを試してください。
<?php
/** Plugin Name: No-Theme-Day **/
add_action( 'template_redirect',
function()
{
wp_die( __( "Jibby! It's the No-Theme-Day today!" ) );
}
);
...
ps:私の金曜日答えを許しなさい - " しかし私だけではない " ;-)
テーマなしでWordPressを使用することは非常にまれであるため、その技術はあまり注目されていません。
まず、WordPressコアにはリクエストを扱う複数の「エンドポイント」があることを理解する必要があります。
wp-admin/index.php
など、独自の(そして多数の)ものがあります。index.php
を通りますが、通常はかなりパーマリンクで「隠されて」いますあなたが 後者のファイルを見れば それは次の行を持っています:
define('WP_USE_THEMES', true);
そのため 通常 WordPressは常にフロントエンドにテーマがあることを期待し、それに応じてランタイム環境を設定します。テーマテンプレートが template-loader.php
にロードされる場合のみ、この定数はそれほど制御しません。
コアブートプロセス中に親/子テーマ(存在する場合)が読み込まれるのを妨げることはありません。
そのため、 デフォルトで WordPressは、少なくとも1つのテーマが存在し、有効になっており、フロントエンドの表示に使用されるテンプレートを持っていると想定しています。
ただし、これはデフォルトの問題であり、完全に設定解除することができます。そのような場合、WordPressは管理者側で完全に機能し続けますが、フロントエンド側ではテーマテンプレートに依存するすべてのリクエストは何も表示しなくなります。