Blogs, การสร้างเว็บไซต์

เขียน CSS แยกจอ Desktop, Tablet, Mobile ง่ายๆ ด้วยปลั๊กอิน WordPress (แจกฟรี!)

เคยไหมครับ? ที่รู้สึกว่าธีม WordPress ที่ใช้อยู่หน้าตาเกือบจะสมบูรณ์แบบแล้ว แต่ยังขาดการปรับแต่งเล็กๆ น้อยๆ เพื่อให้เว็บไซต์ของคุณดูดีที่สุดในทุกขนาดหน้าจอ ไม่ว่าจะเป็นบนเดสก์ท็อป แท็บเล็ต หรือมือถือ? บางครั้งเราก็อยากจะให้เว็บไซต์ของเราแสดงผลได้อย่างสวยงามและใช้งานได้ดีในทุกอุปกรณ์ โดยไม่ต้องทนกับการที่มันดูไม่เหมาะสมในบางหน้าจอ หรือบางธีมที่เราใช้อยู่ไม่รองรับการแสดงผลในบางขนาดหน้าจออย่างที่เราต้องการ วันนี้เราจะมาพูดถึงวิธีการที่คุณสามารถแก้ไขปัญหานี้ได้ด้วยการสร้าง ปลั๊กอิน Custom Responsive CSS ของคุณเอง! 👨‍💻

การใช้ธีม WordPress ส่วนใหญ่จะมีการตั้งค่าพื้นฐานที่รองรับหลายขนาดหน้าจอ แต่บางครั้งธีมเหล่านั้นอาจไม่ได้ทำให้เว็บไซต์ของคุณดูดีที่สุดบนทุกอุปกรณ์โดยเฉพาะบนมือถือหรือแท็บเล็ต ซึ่งเป็นอุปกรณ์ที่ผู้ใช้งานมักใช้กันมากในปัจจุบัน การปรับแต่งให้เว็บไซต์ของคุณแสดงผลได้อย่างสวยงามบนทุกขนาดหน้าจอจึงกลายเป็นสิ่งสำคัญในการสร้างประสบการณ์การใช้งานที่ดีให้กับผู้เข้าชม

และนี่คือที่มาของ ปลั๊กอิน Custom Responsive CSS ซึ่งจะช่วยให้คุณสามารถปรับแต่ง CSS ของเว็บไซต์ได้ตามต้องการ โดยไม่ต้องไปแก้ไขไฟล์หลักของธีม ซึ่งอาจเสี่ยงต่อการที่การอัปเดตธีมในอนาคตจะทำให้การปรับแต่งของคุณหายไป Download Zip File 

 

เปิดใช้งานและใช้งานปลั๊กอิน
หลังจาก Activate แล้ว คุณจะเห็นเมนู
ใหม่ทางด้านซ้ายชื่อ “Responsive CSS”

เมื่อคลิกเข้าไป คุณจะพบหน้าที่มี 4 ช่องสำหรับใส่โค้ด CSS แยกกันอย่างชัดเจน:

Global CSS

Desktop CSS

Tablet CSS

Mobile CSS

ใส่โค้ด CSS ที่ต้องการในแต่ละช่อง แล้วกด Save Settings

โค้ด CSS ที่คุณใส่จะถูกนำไปแสดงผลที่หน้าเว็บไซต์ของคุณโดยอัตโนมัติ

				
					<?php
/**
 * Plugin Name:       My Responsive CSS
 * Description:       Adds a settings page to input custom CSS for Desktop, Tablet, and Mobile.
 * Version:           1.0
 * Author:            Jodbush
 */

// ป้องกันการเข้าถึงไฟล์โดยตรง
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

// 1. สร้างเมนูในหน้า Admin
function mrc_add_admin_menu() {
    add_menu_page(
        'Responsive CSS',          // Page Title
        'Responsive CSS',          // Menu Title
        'manage_options',          // Capability
        'my_responsive_css',       // Menu Slug
        'mrc_settings_page_html',  // Callback function to display content
        'dashicons-admin-customizer', // Icon
        80                         // Position
    );
}
add_action('admin_menu', 'mrc_add_admin_menu');


// 2. สร้างหน้าตั้งค่า (HTML Form)
function mrc_settings_page_html() {
    // ตรวจสอบสิทธิ์ผู้ใช้
    if (!current_user_can('manage_options')) {
        return;
    }
    ?>
    <div class="wrap">
        <h1><?php echo esc_html(get_admin_page_title()); ?></h1>
        <p>ใส่โค้ด Custom CSS ของคุณโดยแยกตามขนาดหน้าจอ</p>
        <form action="options.php" method="post">
            <?php
            settings_fields('mrc_settings_group');
            do_settings_sections('my_responsive_css');
            submit_button('Save Settings');
            ?>
        </form>
    </div>
    <?php
}


// 3. ลงทะเบียน Settings, Sections, และ Fields
function mrc_register_settings() {
    register_setting('mrc_settings_group', 'mrc_css_options');

    add_settings_section(
        'mrc_css_section',
        'Custom CSS Rules',
        null,
        'my_responsive_css'
    );

    add_settings_field('mrc_global_css', 'Global CSS (ทุกขนาดหน้าจอ)', 'mrc_field_callback', 'my_responsive_css', 'mrc_css_section', ['name' => 'global_css']);
    add_settings_field('mrc_desktop_css', 'Desktop CSS (1025px ขึ้นไป)', 'mrc_field_callback', 'my_responsive_css', 'mrc_css_section', ['name' => 'desktop_css']);
    add_settings_field('mrc_tablet_css', 'Tablet CSS (768px - 1024px)', 'mrc_field_callback', 'my_responsive_css', 'mrc_css_section', ['name' => 'tablet_css']);
    add_settings_field('mrc_mobile_css', 'Mobile CSS (ไม่เกิน 767px)', 'mrc_field_callback', 'my_responsive_css', 'mrc_css_section', ['name' => 'mobile_css']);
}
add_action('admin_init', 'mrc_register_settings');


// 4. สร้าง Callback function เพื่อแสดงช่อง Textarea
function mrc_field_callback($args) {
    $options = get_option('mrc_css_options');
    $name = $args['name'];
    $value = isset($options[$name]) ? $options[$name] : '';
    ?>
    <textarea name="mrc_css_options[<?php echo esc_attr($name); ?>]" rows="10" cols="80" class="large-text"><?php echo esc_textarea($value); ?></textarea>
    <?php
}


// 5. นำโค้ด CSS ที่บันทึกไว้ไปแสดงผลที่หน้าเว็บไซต์ (Front-end)
function mrc_output_css() {
    $options = get_option('mrc_css_options');
    if (empty($options)) {
        return;
    }

    echo '';
}
add_action('wp_head', 'mrc_output_css');

?>