คำถามติดแท็ก wp-enqueue-style

วิธีที่ปลอดภัยในการเพิ่ม / จัดคิวไฟล์สไตล์ CSS ไปยังเพจที่สร้างด้วย wordpress หากลงทะเบียนครั้งแรกกับ wp_register_style () สามารถเพิ่มได้โดยใช้หมายเลขอ้างอิง

9
ฉันจะจัดคิวสไตล์ / สคริปต์บนหน้า Certain / wp-admin อย่างไร
ฉันมีฟังก์ชั่นง่าย ๆ สองอย่างที่ใช้ในการโหลดสิ่งต่าง ๆwp_enqueue_style()และwp_enqueue_script()สิ่งเหล่านี้: function admin_custom_css() { wp_enqueue_style( 'stylesheet_name', 'stylesheet.css') }; function admin_custom_js { wp_enqueue_script( 'javascript_file', 'script.js') }; ... และหน้าผู้ดูแลระบบบางหน้าสร้างด้วยadd_menu_page()และadd_submenu_page() function my_menu() { add_menu_page('Page 1', 'bar', 'something', 'else', 'foo'); add_submenu_page( 'theme_menu', 'Subpage 1', 'Subpage', 'something', 'else', 'foo'); } add_action('admin_menu', 'my_menu'); ฉันจะโหลดทั้งสองฟังก์ชั่นในหน้าเหล่านี้ได้อย่างไร ตอนนี้ฉันกำลังใช้: add_action('admin_init', 'admin_custom_css' ); add_action('admin_init', 'admin_custom_js' ); แต่มันจะโหลดไฟล์ของฉันในทุกหน้าผู้ดูแลระบบซึ่งไม่ดีเลย ฉันสามารถทำสิ่งนี้ผ่านบรรทัดง่าย …

1
สถานที่ที่เหมาะสมในการลงทะเบียน / เข้าคิวสคริปต์และรูปแบบคือที่ไหน
ฉันใช้ WordPress 3.1.4 ตอนนี้ ฉันสับสนกับที่ฉันใช้ (ซึ่งตะขอ) เพื่อลงทะเบียนและ / หรือเข้าคิว สคริปต์และสไตล์ ทั้งด้านหน้าและด้านหลัง? คำถาม: ตะขออันไหนที่ควรใช้? ฟรอนต์เอนด์สคริปต์ / รูปแบบการลงทะเบียนส่วนหน้าทั้งหมดinitหรือไม่ ทำไมถึงไม่มีadmin_print_styles-{xxx}?

8
การโหลด JavaScript / CSS แบบมีเงื่อนไขสำหรับรหัสย่อ
ฉันปล่อยปลั๊กอินที่สร้างรหัสย่อและต้องใช้ไฟล์ JavaScript และไฟล์ CSS เพื่อโหลดในหน้าใด ๆ ที่มีรหัสย่อนั้น ฉันทำได้เพียงโหลดสคริปต์ / สไตล์ในทุกหน้า แต่นั่นไม่ใช่วิธีปฏิบัติที่ดีที่สุด ฉันต้องการโหลดไฟล์บนหน้าเว็บที่เรียกรหัสย่อเท่านั้น ฉันพบสองวิธีในการทำเช่นนี้ แต่ทั้งคู่มีปัญหา วิธีที่ 1ตั้งค่าสถานะเป็นจริงภายในฟังก์ชันตัวจัดการรหัสย่อและจากนั้นตรวจสอบค่าภายในการwp_footerเรียกกลับ หากเป็นจริงจะใช้wp_print_scripts()เพื่อโหลด JavaScript ปัญหานี้ก็คือว่ามันทำงานเฉพาะสำหรับ JavaScript และ CSS ไม่ได้เพราะ CSS ควรจะประกาศภายใน<head>ซึ่งคุณสามารถทำในช่วงต้นเบ็ดเหมือนหรือinitwp_head วิธีที่ 2เริ่มทำงานตั้งแต่เช้าและ "ดูล่วงหน้า" เพื่อดูว่ามีรหัสย่อในเนื้อหาของหน้าปัจจุบันหรือไม่ ผมชอบวิธีการนี้ดีกว่าครั้งแรก do_shortcode()แต่ปัญหาที่เกิดขึ้นกับมันมันจะไม่ตรวจสอบว่าสายแม่แบบ ดังนั้นฉันโน้มตัวไปใช้วิธีที่สองแล้วลองตรวจสอบว่ามีการกำหนดแม่แบบไว้หรือไม่และหากเป็นเช่นนั้นให้แยกวิเคราะห์สำหรับรหัสย่อ แม้ว่าก่อนหน้านั้นฉันต้องการตรวจสอบว่ามีใครรู้วิธีการที่ดีกว่านี้หรือไม่ อัปเดต:ฉันได้รวมโซลูชันไว้ในปลั๊กอินแล้ว ถ้าใครอยากรู้อยากเห็นที่จะเห็นมันโป่งพองออกมาในสภาพแวดล้อมที่อยู่คุณสามารถดาวน์โหลดได้หรือเรียกดูมัน อัปเดต 2:ในฐานะของ WordPress 3.3 ตอนนี้คุณสามารถโทรwp_enqueue_script()ภายในการโทรกลับด้วยรหัสย่อได้โดยตรงและไฟล์ JavaScript จะถูกเรียกภายในส่วนท้ายของเอกสาร ในทางเทคนิคนั้นเป็นไปได้สำหรับไฟล์ CSS เช่นกัน แต่ควรได้รับการพิจารณาว่าเป็นวิธีปฏิบัติที่ไม่ดีเนื่องจากการส่งออก CSS นอก<head>แท็กนั้นเป็นการละเมิดข้อกำหนดของ W3C สามารถเป็นกรณี …

2
ฉันจะถอนออกจากไฟล์ CSS ของธีมหลักได้อย่างไร
ธีมหลักของฉัน (Starkers) เพิ่มไฟล์ CSS ที่ฉันพยายามลบ (ฉันต้องการใช้ @import แทนเพื่อให้ฉันสามารถแทนที่สไตล์ได้ง่ายขึ้น) Starkers มีสิ่งต่อไปนี้ใน function.php: add_action( 'wp_enqueue_scripts', 'script_enqueuer' ); function script_enqueuer() { wp_register_script( 'site', get_template_directory_uri().'/js/site.js', array( 'jquery' ) ); wp_enqueue_script( 'site' ); wp_register_style( 'screen', get_template_directory_uri().'/style.css', '', '', 'screen' ); wp_enqueue_style( 'screen' ); } ฉันได้ลองทำสิ่งต่อไปนี้ในฟังก์ชั่นสำหรับเด็กแล้ว แต่ลิงก์และแท็กสคริปต์ยังคงปรากฏในส่วนหัว add_action('init', 'removeScripts'); function removeScripts() { wp_dequeue_style('screen'); wp_deregister_script('site'); } ฉันได้ตรวจสอบสองครั้งเพื่อดูว่าพวกเขาเข้ารหัสยากในส่วนหัวหลักและพวกเขาไม่ได้

2
ตรวจสอบว่าสคริปต์ / สไตล์ถูกจัดคิว / ลงทะเบียน
เป็นไปได้ไหมที่จะทดสอบว่าสคริปต์หรือสไตล์ได้รับการลงทะเบียนโดยใช้wp_register_script/_styleหรือwp_enqueue_script/_styleไม่? ฟังก์ชั่นทั้งหมดไม่ได้คืนค่าและฉันก็ไร้เดียงสาอย่างสมบูรณ์ ฉันต้องการมันเพื่อสลับระหว่างฟังก์ชั่นที่แตกต่างกันขึ้นอยู่กับสไตล์ชีต - ไลบรารีและสคริปต์ที่ฉันเสนอ ขอขอบคุณ!

5
wp enqueue style บนเทมเพลตหน้าเฉพาะ
ฉันอยู่ในกระบวนการของธีมฉันต้องการเพิ่มหน้า Landing Page โดยใช้เทมเพลตหน้า ฉันไม่พบที่ใดที่แสดงวิธีจัดคิวสไตล์หรือ js สำหรับเทมเพลตหน้าเฉพาะ ข้อเสนอแนะใด ๆ อดีต Landing Page 1 - landing-page-template-one.php จะต้องมีสไตล์และ js แตกต่างจากบล็อกหรือโฮมเพจ

2
เป็นไปได้ไหมที่จะรวม CSS แบบอินไลน์ในปลั๊กอิน?
โดยปกติในปลั๊กอินฉันจะเพิ่มสไตล์โดยใช้ wp_enqueue_style อย่างไรก็ตามขณะนี้ฉันกำลังสร้างปลั๊กอินที่ต้องการเพียงไม่กี่บรรทัดของ CSS และฉันสงสัยว่ามันอาจจะดีกว่าที่จะให้บริการรูปแบบอินไลน์เพื่อบันทึกการร้องขอ เห็นได้ชัดว่ามีข้อดีหลายประการในการใช้ wp_enqueue_style แต่พวกเขามีค่าต่อคำขอพิเศษสำหรับ CSS ชิ้นเล็ก ๆ หรือไม่ มีการปฏิบัติที่ดีที่สุดในพื้นที่นี้หรือไม่?

3
มีความสำคัญต่อการจัดคิวสไตล์ของชุดรูปแบบอย่างไร
ฉัน trawled net มองหาคำตอบนี้ แต่ด้วยเหตุผลทั้งหมดที่ฉันสามารถหาได้เป็นตัวอย่างจริง แต่ไม่มีคำอธิบายเฉพาะซึ่งชัดเจนว่าในกรณีของสคริปต์ บางคนสามารถอธิบายให้ฉันฟังได้ว่าเหตุใดจึงสำคัญ / เป็นประโยชน์ในการจัดคิวสไตล์เมื่อพัฒนาธีมแทนที่จะใช้ <link rel=stylesheet>ใน header.php นอกจากนี้สไตล์ชีทเริ่มต้นของธีมควรมีการจัดคิวด้วยหรือไม่

3
ใช้ wp_add_inline_style โดยไม่มีสไตล์ชีต
ฉันต้องการเพิ่มสไตล์อินไลน์แบบกำหนดเองในส่วนหัวของธีมที่กำหนดเองที่ฉันสร้าง ฉันได้พบกับwp_add_inline_style()ฟังก์ชั่นที่ใช้งานได้ แต่ไม่เหมาะกับฉันจริงๆเพราะมันขึ้นอยู่กับสไตล์ชีทเฉพาะ ฉันต้องการเพิ่มสไตล์อินไลน์ที่ส่วนท้ายของแท็กส่วนหัวโดยไม่ต้องพึ่งพาสไตล์ชีท ฉันพยายามตั้งค่าสไตล์ชีทของธีมหรือที่ไม่มีอยู่จริง ในทั้งสองกรณีมันใช้งานได้ แต่เป็นแฮ็คที่สกปรกเล็กน้อย (อาจโหลดสไตล์ชีทของธีมสองครั้งหรืออ้างถึงไฟล์ผี ... ) มีวิธีที่เหมาะสมในการเพิ่มสไตล์อินไลน์ในหัวโดยไม่ขึ้นอยู่กับสไตล์ชีทหรือไม่? แน่นอนฉันสามารถเพิ่มพวกเขาโดยตรงในไฟล์ header.php แต่ฉันต้องการหลีกเลี่ยงปัญหานี้

4
เอา Open Sans ออกจากชุดรูปแบบ Twenty Twelve
ฉันกำลังสร้างธีมลูกสำหรับ Twenty Twelve v1.0 และฉันต้องการลบแบบอักษร Open Sans Open Sans ถูกเพิ่มเข้ามาในฟังก์ชั่นของ Twenty Twelve wp_enqueue_style( 'twentytwelve-fonts', add_query_arg( $query_args, "$protocol://fonts.googleapis.com/css" ), array(), null ); ฉันได้พยายามยกเลิกการลงทะเบียน / ถอนการสไตล์ชีทในฟังก์ชั่น childtheme's.php (ดูตัวอย่างด้านล่าง) แต่ไม่มีผล: function example_scripts_styles() { wp_deregister_style( 'twentytwelve-fonts' ); wp_dequeue_style( 'twentytwelve-fonts' ); } add_action( 'wp_enqueue_scripts', 'example_scripts_styles' ); มีแนวคิดใดบ้างที่ฉันจะลบไฟล์นี้? ขอบคุณ!

4
จัดทำคอลัมน์แบบกำหนดเองในแผงควบคุม (โดยเฉพาะการปรับความกว้างของคอลัมน์)
ฉันใช้ Wordpress เป็น CMS สำหรับโครงการที่ใช้ประโยชน์จากประเภทโพสต์ที่กำหนดเองอย่างกว้างขวาง ฉันต้องการแสดงคอลัมน์ในแผงควบคุมของผู้ดูแลระบบสำหรับโพสต์ที่กำหนดเองแต่ละประเภทในวิธีที่แตกต่างกัน ฉันได้สร้างคอลัมน์ที่จำเป็นและเติมแล้ว สิ่งที่ฉันต้องทำคือปรับ CSS สักเล็กน้อย ที่สำคัญที่สุดฉันพยายามปรับแต่งความกว้างของคอลัมน์บางคอลัมน์ ตัวอย่างเช่นฉันไม่ต้องการคอลัมน์ที่แสดงรหัสโพสต์ให้กว้างเท่ากับชื่อโพสต์ ฉันลงทะเบียนสไตล์ชีทในพาเนลผู้ดูแลระบบสำหรับประเภทโพสต์ที่กำหนดเองของฉัน แต่ฉันไม่สามารถทำให้สไตล์ความกว้างคอลัมน์เหมาะสม ฉันพยายามปรับความกว้างสูงสุดขององค์ประกอบที่ th หรือ td แต่มันไม่มีประสิทธิภาพ จาก firebug ฉันเห็นสไตล์ css อยู่ตรงนั้น แต่มันไม่ทำอะไรเลย ในขณะที่ฉันสามารถหาบทช่วยสอนจำนวนมากเพื่อเพิ่ม / แก้ไขคอลัมน์ที่กำหนดเองได้ แต่ฉันไม่ได้รวบรวมข้อมูลมากมายเกี่ยวกับวิธีการจัดรูปแบบคอลัมน์ดังกล่าว คำใบ้ใด ๆ ขอขอบคุณ!

2
จะโหลด Widget javascript + css ได้อย่างไรหากใช้?
ฉันต้องการเก็บสไตล์ javascript และ css ที่ใช้โดยวิดเจ็ตของฉันไว้ในไฟล์ของตัวเอง (และไม่เพิ่มลงในธีม) แต่ฉันไม่สามารถรับ wordpress เพื่อเพิ่มพวกเขาได้เมื่อมีการใช้วิดเจ็ตบนแถบด้านข้าง ฉันเคยลองแล้ว: ในการประกาศ Class ฉันได้เพิ่ม 2 ฟังก์ชัน class EssentielleRubriquesPosts extends WP_Widget { function addFrontendCss(){ wp_enqueue_style('erw-frontend-css', ESSENTIELLE_RUBRIQUE_WIDGET_PLUGIN_PATH . 'css/EssentielleRubriqueWidget-frontend.css'); } function addFrontendJavascript(){ wp_register_script('jq-hoverintent', PLUGIN_PATH . 'js/jquery.hoverintent.js', array('jquery'), '1.0',true); wp_enqueue_script('jq-hoverintent'); wp_enqueue_script('jq-tools', PLUGIN_PATH . 'js/jquery.tools.js', array('jquery'),'1.0',true); wp_enqueue_script('erw-frontend-js', PLUGIN_PATH . 'js/widget-frontend.js', array('jquery', 'jq-hoverintent', 'jq-tools'),'1.0',true); } และภายในฟังก์ชั่น …

2
วิธีเพิ่ม crossorigin และ integrity ใน wp_register_style? (ตัวอักษรยอดเยี่ยม 5)
ฉันกำลังอัปเกรด Font Awesome 4 เป็นเวอร์ชัน 5 ซึ่งแนะนำทั้งคุณสมบัติที่สมบูรณ์และแอตทริบิวต์ทางเลือกข้ามสู่<link rel="stylesheet">มาร์กอัพ ขณะนี้ฉันกำลังใช้: wp_register_style('FontAwesome', 'https://example.com/font-awesome.min.css', array(), null, 'all' ); wp_enqueue_style('FontAwesome'); ซึ่งแสดงผลเป็น: <link rel="stylesheet" id="FontAwesome-css" href="https://example.com/font-awesome.min.css" type="text/css" media="all" /> ด้วยตัวอักษรที่น่ากลัว 5 มันแนะนำสองคุณลักษณะใหม่และค่า ( integrityและcrossorigin) เช่น: <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU" crossorigin="anonymous"> ดังนั้นผมจึงต้องไปหาวิธีการที่ฉันสามารถเพิ่มทั้งความสมบูรณ์และ crossorigin เพื่อ wp_register_style ผมได้พยายาม แต่ความพยายามของฉันที่จะใช้งานwp_style_add_dataได้ล้มเหลวก็จะดูเหมือนว่าวิธีนี้สนับสนุนเฉพาะconditional, rtlและsuffix, และalttitle

3
ฉันจะรับรายการสคริปต์และสไตล์ที่จัดคิวทั้งหมดได้อย่างไร
ฉันกำลังสร้างปลั๊กอินและฉันต้องการรับรายการสคริปต์และ CSS ทั้งหมดที่ใช้โดยปลั๊กอินอื่น ๆ นี่คือฟังก์ชั่นของฉัน: function crunchify_print_scripts_styles() { $result = []; $result['scripts'] = []; $result['styles'] = []; // Print all loaded Scripts global $wp_scripts; foreach( $wp_scripts->queue as $script ) : $result['scripts'][] = $wp_scripts->registered[$script]->src . ";"; endforeach; // Print all loaded Styles (CSS) global $wp_styles; foreach( $wp_styles->queue as $style ) : …

2
ป้องกันพารามิเตอร์ URL เวอร์ชัน (? ver = XXX) ในสไตล์และสคริปต์ที่จัดทำ
ใช้ Case ฉันกำลังทดลองกับคุณลักษณะ Dev Tools Workspace ของ Chrome มันมีความสามารถในการแก้ไขไฟล์โดยตรงใน Dev Tools และมีสไตล์ชีทที่บันทึกไว้รีเฟรชตัวเอง (หรือแม้กระทั่งการคอมไพล์แล้วรีเฟรช!) อย่างไรก็ตามดังที่มีการบันทึกไว้ในคำถาม StackOverflow "CSS" สร้างใหม่โหลดอัตโนมัติ "ของ Chrome ไม่โหลดหน้าเมื่อ SASS recompiles CSS"พารามิเตอร์ URL ใน URL สไตล์ชีททำให้ Chrome ไม่สามารถสังเกตเห็นการเปลี่ยนแปลง ผลลัพธ์ที่ต้องการ นั่นหมายความว่าเฉพาะในระหว่างการพัฒนาฉันต้องการลบออก?ver=X.X.Xจากสไตล์ชีท<link>เอาท์พุทตามwp_enqueue_style()ปกติ กล่าวอีกนัยหนึ่งฉันต้องการค่าเริ่มต้นhref: http://localhost/mysite/wp-includes/style.css?ver=4.1.1 เป็นแทนสิ่งนี้: http://localhost/mysite/wp-includes/style.css

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.