আমি নীচে বর্ণিত পদ্ধতিটি, বা একটি সাধারণ "নাতিপুত্র" থিমটি পুরোপুরি পরীক্ষা করে দেখিনি, তবে টেমপ্লেট_যুক্ত ফিল্টারটির কার্যকারিতা প্রদান করে :
/*
Plugin Name: Grandchild Themes
Plugin URI: http://www.who-cares.com/
Description: A concept for Grandchild themes Plugin
Author: See Plugin URI
Version: 0.0.0.0.1-Alpha
*/
add_action('wp_head', 'grnd_chld_add_headers', 0);
add_action('init', 'grnd_chld_add_css');
// Load template if exists.
function grandchild_template_include( $template ) {
if ( file_exists( untrailingslashit( plugin_dir_path( __FILE__ ) ) . '/grnd_chld_templates/' . basename( $template ) ) )
$template = untrailingslashit( plugin_dir_path( __FILE__ ) ) . '/grnd_chld_templates/' . basename( $template );
return $template;
}
// This is the actual filter that we want .
add_filter( 'template_include', 'grandchild_template_include', 11 );
function grnd_chld_add_headers () {
wp_enqueue_style('my_grandchild_style');
}
function grnd_chld_add_css() {
$stamp = @filemtime(plugin_dir_path(__FILE__).'/style.css'); // easy versioning
wp_register_style ('my_grandchild_style', plugins_url('style.css', __FILE__).'', array(), $stamp);
}
// From here , what you got is like a normal functions.php.
আপনি একইভাবে, আরও নির্দিষ্ট ফিল্টার চেষ্টা করতে পারেন যেমন আর্কাইভ_টেমপ্লেট উদাহরণস্বরূপ
add_filter ('archive_template', create_function ('', 'return plugin_dir_path(__FILE__)."archive.php";'));
যা যা বলেছে এবং করেছে, আমি নিশ্চিত নই যে এটি করা সবচেয়ে ভাল উপায়।