it-swarm.asia

بما في ذلك CSS و JS على شاشة المسؤول لخيارات السمة المخصصة

أقوم بإنشاء سمة مخصصة مع صفحة خيارات السمة.

أرغب في تصميم صفحة الخيارات ولا أريد تضمين أنماط مضمنة. هل هناك أي طريقة لتضمين ورقة أنماط خارجية من القول

TEMPLATEPATH . '/css/admin.css'

لقد وجدت أيضًا جزء الكود هذا ويبدو أنه يعمل - link

function admin_register_head() {
 $siteurl = get_option('siteurl');
 $url = $siteurl . '/wp-content/plugins/' . basename(dirname(__FILE__)) . '/yourstyle.css';
 echo "<link rel='stylesheet' type='text/css' href='$url' />\n";
}
add_action('admin_head', 'admin_register_head');

ما هي أفضل طريقة؟

4
abrudtkuhl

إذا قمت بإنشاء مكون إضافي لمسؤول النظام من خطوات Codex ، فستلاحظ أنه يشير إلى عدم إدراج أوراق أنماط كما هو مذكور أعلاه - على الرغم من أن ما ورد أعلاه سيعمل.

إذا وضعت ما يلي داخل ملف سمة المشرف الخاص بك ، فسيخدم نفس الغرض ، ولكن يستخدم wp_enqueue_styles approach:

function add_admin_theme_styles() {
    wp_register_style($handle = 'mytheme-theme-admin-styles', $src = plugins_url('wp-admin.css', __FILE__), $deps = array(), $ver = '1.0.0', $media = 'all');
    wp_enqueue_style('mytheme-theme-admin-styles');}
    add_action('admin_print_styles', 'add_admin_theme_styles');
3
davemac

عند تسجيل صفحة لمنطقة المشرف ، باستخدام add_submenu_page أو أي من وظائف add_{TYPE}_page الأخرى التي تقبل المعلمة الرابعة معرفًا فريدًا لها ، فإن هذا المعرف يعيّن الخطاف الذي ستستخدمه صفحتك المسجلة ..

إذا كنت سأقوم بتسجيل خيارات على سبيل المثال:

add_options_page( 'Example Plugin Options', 'Example Plugin', 'manage_options', 'example-plugin-identifier', 'example_plugin_options' );

بعد ذلك ، تتوفر روابط متعددة لتلك الصفحة على وجه التحديد ، وإليك بعض الإجراءات الممكنة للصفحة المسجلة الآن.

// load-{HANDLE}
add_action( 'load-example-plugin-identifier', 'example_plugin_callback' );
// admin_head-{HANDLE}
add_action( 'admin_head-example-plugin-identifier', 'example_plugin_callback' );
// admin_print_scripts-{HANDLE}
add_action( 'admin_print_scripts-example-plugin-identifier', 'example_plugin_callback' );
// admin_print_styles-{HANDLE}
add_action( 'admin_print_styles-example-plugin-identifier', 'example_plugin_callback' );

function example_plugin_callback() {

    // Run your code here

}

يوجد أيضًا ربط admin_enqueue_scripts ، والذي يوفر اسم المؤشر الحالي في السلسلة/المتغير الذي يمر به إلى وظائف رد الاتصال.

add_action( 'admin_enqueue_scripts', 'example_plugin_callback' );

function example_plugin_callback( $handle ) {

    // If the handle is not the page registered earlier, return
    if( 'example-plugin-identifier' =! $handle )
        return;

    // Run your code here

}

يجب ألا تحتاج عادةً إلى استخدام admin_head أو admin_print_scripts أو admin_print_styles إلا إذا كان لديك شرط محدد لاستهداف كل صفحة إدارة أو تنفيذ منطق شرطي داخل رد الاتصال لاستهداف صفحات مسجلة محددة.

امل ان يساعد..

4
t31os

يوفر WP قوائم انتظار للبرامج النصية والأنماط. يسمح بإصدار عناوين URL وتحميل التبعيات تلقائيًا ، إلخ.

راجع wp enqueue style() في Codex للتعرف على كيفية تسجيل نمطك بشكل صحيح وتحميله فقط حيثما احتجت إليه (في صفحتك المخصصة وليس في كل منطقة المشرف).

3
Rarst

نعم ، أنا أجيب على سؤالي الخاص ... لكنني حصلت عليه.

أضف هذا الإجراء إلى ملف theme.php الخاص بالنسق

function admin_register_head() {
    $url = get_bloginfo('template_directory') . '/css/admin.css';
    echo "<link rel='stylesheet' type='text/css' href='$url' />\n";
}
add_action('admin_head', 'admin_register_head');
1
abrudtkuhl