Tag: widget

  • แก้ปัญหาการแทรก tag pใน widget เมื่อใช้ gutenberg

    แก้ปัญหาการแทรก tag pใน widget เมื่อใช้ gutenberg

    หลังจากที่ WordPress มีการอัพเดตเป็น Version 5.8 ได้มีการนำ block ของ gutenberg มาใช้งานกับ widget แทนรูปแบบเดิมที่เคยใช้มา

    แก้ปัญหาการแทรก tag pใน widget เมื่อใช้ gutenberg

    ทีนี้เราดันมาเจอปัญหาว่า เวลาใช้ block ที่เป็น shortcode มันจะแทรก tag p เข้ามาอัตโนมัติ แล้วตัว shortcode ที่เราสร้างขึ้น มันดันไปตีกับตัว tag p ที่มันแทรกเข้า ทำให้ code กลายเป็นแบบนี้

    <p>[shortcode]</p>

    เราเลยต้องหาวิธีเอามันออกไป โดยเราไปไล่ code ที่ file

    wp-includes/class-wp-block.php

    แล้วก็เจอ filter ตัวนี้

    $block_content = apply_filters( "render_block_{$this->name}", $block_content, $this->parsed_block );

    เมื่อไปค้นต่อ เจอลิงก์นี้

    โดยเรานำมาปรับใช้เป็น

    add_filter( "render_block_core/shortcode", 'custom_render_block_shortcode', 10, 2);
    function custom_render_block_shortcode( $block_content, $parsed_block ) {
      $array = array (
        '<p>[' => '[', 
        ']</p>' => ']'
      );
      $block_content = strtr($block_content, $array);
    
      return $block_content;
    }

  • Widget Logic Plugin สำหรับกำหนดเงื่อนไขการแสดงผลของ Widget : WordPress

    Widget Logic Plugin สำหรับกำหนดเงื่อนไขการแสดงผลของ Widget : WordPress

    วันก่อนมีน้องมาถามว่า มี Plugin จะทำยังไงให้ Widget แสดงผลเฉพาะหน้าที่เราต้องการได้มั้ย ยังไม่ทันได้ตอบ มันก็หาเจอไปแล้ว 555

    พอมาวันนี้ไอ้เราก็จำไม่ได้ว่า ที่มันหาเจอเป็น Plugin ตัวไหน ก็เลยเป็นสาเหตุให้ลองมาหาเองว่ามี Plugin ตัวไหนที่ถูกจริตเรา แล้วใช้กำหนดเงื่อนไขการแสดงผลในหน้าที่เราต้องการได้มั้ย ก็มาจบที่ตัวนี้ละ Widget Logic

    Widget Logic

    หลังจากติดตั้ง Plugin ตัวนี้แล้ว ไม่ต้องไปมองหาว่ามันจะไปอยู่ที่เมนูไหน เพราะมันจะไปอยู่ที่หน้าจัดการ Widget ที่เมนู Appearance => Widgets ลองดูตัวอย่างตามรูปละกัน

    Pic1
    ส่วนของ Widget Logic ที่เพิ่มขึ้นมา

    หลายคนอาจจะงงว่า แล้วเราจะใส่อะไรลงไปช่อง Widget Logic ที่เพิ่มขึ้นมา ให้ไปดูที่ Conditional Tags ของ WordPress ได้เลยครับ

    คราวนี้มาลองใส่ไปว่า is_home() ซึ่งถ้าใน Reading Settings ของเราไม่ได้ตั้งค่าอะไร มันก็คือหน้าแรกนั่นละ แต่ถ้าเราไปเลือกหน้าไหนในส่วนของ Front Page หน้าแรกของเราต้องใช้เป็น is_front_page() แทนนะครับ

    Pic2
    อันนี้ตั้งชื่อ Title ให้เวลาสังเกตผล จะได้ดูง่ายๆ

    ซึ่งในกรณีนี้ ถ้าเราไปที่หน้าแรก จะต้องมี Widget ที่มีหัวข้อ Widget Logic ปรากฎอยู่

    Pic3
    หน้าแรกของเรามี Widget หัวข้อ Widget Logic อยู่ด้านขวา

    คราวนี้ลองเข้าไปที่หน้า Archive ของเว็บบ้าง จะเห็นว่า Widget ที่มีหัวข้อ Widget Logic หายไป

    Pic4
    ในหน้า Archive จะเห็นว่า Widget หัวข้อ Widget Logic หายไป

    ซึ่งเราก็สามารถปรับเงื่อนไขต่างๆ ได้แล้วแต่เราต้องการ จะใช้ && หรือ || หรือ ! ก็แล้วแต่เงื่อนไขที่จะให้แสดงผลของแต่ละคนเลย

  • [Plugin WordPress] Pinterest Pinboard Widget

    [Plugin WordPress] Pinterest Pinboard Widget

    หลังจากที่เคยแนะนำการใส่ปุ่ม Pin it ของ Pinterest ในเว็บ WordPress ของเราแล้ว ([WordPress] เพิ่มปุ่ม Pin it ของ Pinterest) มาครั้งนี้ก็มาแนะนำ Plugin สำหรับดึงข้อมูลใน Pinboard ของเรามาโชว์ Plugin ตัวนั้นก็คือ

    [Plugin WordPress] Pinterest Pinboard Widget [1]

    หลังจากที่โหลดตัว Plugin มาติดตั้งแล้ว ให้เข้าไปในส่วน Widget เราจะได้พบ Widget ตัวใหม่ ชื่อ Pinterest Pinboard ก็กรอกข้อมูลลงไปนะครับ ว่าจะให้ดึงข้อมูลมาจาก User ไหน

    [Plugin WordPress] Pinterest Pinboard Widget [2]

    และเมื่อไปดูที่หน้าเว็บ เราก็จะได้ตัว Pinboard มาโชว์ในหน้าเว็บของเราแล้ว

    [Plugin WordPress] Pinterest Pinboard Widget [3]

    Download Plugin ได้ที่ : Pinterest Pinboard Widget