CSS นี้ใช้งานได้ แต่นี่เป็นวิธีปฏิบัติที่ดีใช่ไหม


9

ฉันกำลังพยายามรวม css แบบไดนามิกในปลั๊กอินของฉันฉันค้นหาทุกที่ แต่ไม่พบเคสที่คล้ายกับที่ฉันทำ และสิ่งที่ฉันใช้ทำคือการเพิ่มไฟล์ css ลงในส่วนท้ายของไฟล์ปลั๊กอิน php ของฉันหลังจากแท็กปิด php ?>โดยไม่ต้องเพิ่มเนื้อหาอื่น ๆ เช่นการเรียก wp head เป็นต้น

นี่คือตัวอย่างของรหัสที่ฉันใส่ลงในส่วนท้ายของไฟล์ปลั๊กอินของฉัน:

<style type="text/css">

   .innertrow { background-color: <?php get_options('css_value');?>}

</style>

นั่นเป็นวิธีปฏิบัติที่ดีหรือไม่?

คำตอบ:


11

คุณสามารถใช้wp_add_inline_style ()เพื่อเพิ่มสไตล์ชีทที่คุณได้กำหนดไว้แล้วเช่นในปลั๊กอินของคุณ วิธีนี้หน้าจอตัวเลือกหรือการตั้งค่าผู้ใช้อื่น ๆ อาจส่งผลกระทบต่อเอาต์พุตสไตล์สุดท้าย

ที่อาจกลายเป็นน่าเบื่อมากขึ้นอยู่กับจำนวนการเปลี่ยนแปลงที่คุณให้อำนาจแก่ผู้ใช้ อย่างไรก็ตามมันเป็น "แนวปฏิบัติที่ดีที่สุด" เท่าที่ฉันรู้


1
มี functioncs ที่ฉันไม่รู้ใน WP :) +1 แน่นอน
gmazzap

2

แน่นอนว่าไม่ใช่วิธีปฏิบัติที่ดีเนื่องจาก Wordpress จะถูกพิจารณาว่าเป็นข้อผิดพลาดของปลั๊กอิน มันจะส่งข้อความแสดงข้อผิดพลาดในการเปิดใช้งานปลั๊กอินเช่นนี้:

The plugin generated xxx characters of unexpected output during activation. If you notice headers already sent messages, problems with syndication feeds or other issues, try deactivating or removing this plugin.

โดยที่ xxx คือจำนวนของรหัส + ช่องว่างที่คุณใส่หลังจาก?>แท็ก เป็นเพียงการค้นหาพื้นที่ / s หรือรหัสที่ไม่ได้รับการยอมรับก่อน<?phpแท็กแรกในปลั๊กอินหลักของคุณและหรือหลังจากนั้น


1

ฉันเชื่อว่าเป็นไปได้ที่จะเขียนไฟล์ CSS แบบไดนามิกโดยใช้ PHP แต่คุณต้องหาข้อมูลเพิ่มเติมเกี่ยวกับมันฉันไม่รู้ตัวเองมากนัก ฉันวางแผนที่จะทำมันเร็ว ๆ นี้เนื่องจากฉันสังเกตเห็นว่าผู้คนใส่ CSS จำนวนมากลงในธีมที่ฉันกำลังทำอยู่ มันเป็นการฝึกฝนที่ไม่ดีในหลาย ๆ ทางดังนั้นควรหลีกเลี่ยงสถานที่ น่าเศร้าที่มีเพียง 24 ชั่วโมงในหนึ่งวัน ... !


1

หากคุณต้องการเพิ่ม CSS แบบไดนามิกและไม่มีสไตล์ชีทที่เพิ่มเข้ามาแล้วและต้องการผนวกเข้าด้วยกันคุณสามารถขอและส่งออกไปในwp_headaction hook:

<?php
function wpse_111373_output_plugin_css() {
    ?>
    <style type="text/css">
        .innertrow { background-color: <?php get_option('css_value'); ?>;}
    </style>
    <?php
}
add_action( 'wp_head', 'wpse_111373_output_plugin_css' );

ไม่เพียงแค่เพิ่ม CSS ที่ส่วนท้ายของไฟล์ปลั๊กอินของคุณ อย่างไรก็ตามเท่าที่เป็น "การปฏิบัติที่ดีที่สุด" ฉันไม่รู้ :)

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