WordPress işlevleri yalnızca WordPress yüklüyse kullanılabilir. style.php
Doğrudan telefonunuzu ararsanız, bir WordPress işlevini kullanamazsınız.
PHP tabanlı stil sayfanız için WordPress'i yüklemenin basit bir yolu, WordPress'e bir son nokta eklemektir: şablon dosyanızı yüklediğiniz özel, ayrılmış bir URL.
Oraya gitmek için yapmanız gerekenler:
Bir uç noktasını Kayıt 'init'
ile add_rewrite_endpoint()
. Adını verelim 'phpstyle'
.
Bağlayın 'request'
ve 'phpstyle'
ayarlanmışsa uç nokta değişkeninin boş olmadığından emin olun . Christopher Davis'in mükemmel A (Çoğunlukla) Burada neler olduğunu anlamak için WordPress Yeniden Yazma API'sinin eksiksiz bir rehberini okuyun .
'template_redirect'
Varsayılan şablon dosyası yerine dosyanızı bağlayın ve gönderin index.php
.
İşleri kısa tutmak için aşağıdaki üç basit adımı tek bir işlevde aşağıdaki demo eklentisinde birleştirdim.
Eklenti PHP Style
<?php # -*- coding: utf-8 -*-
/*
* Plugin Name: PHP Style
* Description: Make your theme's 'style.php' available at '/phpstyle/'.
*/
add_action( 'init', 'wpse_54583_php_style' );
add_action( 'template_redirect', 'wpse_54583_php_style' );
add_filter( 'request', 'wpse_54583_php_style' );
function wpse_54583_php_style( $vars = '' )
{
$hook = current_filter();
// load 'style.php' from the current theme.
'template_redirect' === $hook
&& get_query_var( 'phpstyle' )
&& locate_template( 'style.php', TRUE, TRUE )
&& exit;
// Add a rewrite rule.
'init' === $hook && add_rewrite_endpoint( 'phpstyle', EP_ROOT );
// Make sure the variable is not empty.
'request' === $hook
&& isset ( $vars['phpstyle'] )
&& empty ( $vars['phpstyle'] )
&& $vars['phpstyle'] = 'default';
return $vars;
}
Eklentiyi yükleyin, wp-admin/options-permalink.php
yeniden yazma kurallarını yenilemek için bir kez ziyaret edin ve style.php
temanıza bir ekleyin .
Numune style.php
<?php # -*- coding: utf-8 -*-
header('Content-Type: text/css;charset=utf-8');
print '/* WordPress ' . $GLOBALS['wp_version'] . " */\n\n";
print get_query_var( 'phpstyle' );
Şimdi ziyaret et yourdomain/phpstyle/
. Çıktı:
/* WordPress 3.3.2 */
default
Ancak yourdomain/phpstyle/blue/
çıktıya giderseniz :
/* WordPress 3.3.2 */
blue
Böylece uç noktayı, değerine bağlı olarak bir dosyayla farklı stil sayfaları sunmak için kullanabilirsiniz get_query_var( 'phpstyle' )
.
Uyarı
Bu sitenizi yavaşlatır. WordPress her ziyaret için iki kez yüklenmelidir . Agresif önbellek olmadan yapmayın.