สำหรับเพื่อนๆ ทั้งที่เคยใช้และไม่เคยใช้ฟังก์ชัน wp_nav_menu เห็นหัวข้อแล้วก็ไม่ต้องตกใจนะครับ ไม่ใช่ว่าของเค้าทำมาไม่ดีนะครับ ออกตัวไว้ก่อน ^^ เทคนิคนี้เอาไว้ประยุกต์ใช้ในบางโอกาศที่เราไม่ต้องการแท็ก LI แต่อยากได้ความสามารถในการแก้ไขเมนูจากหลังบ้านได้เอง โดยไม่ต้องฝังลิงค์ (hard code) ไว้ในธีม และแน่นอนว่ามันจะอำนวยความสะดวกกับผู้ใช้เราด้วย
พระเอกของเราก็คือฟังก์ชัน strip_tags ของ PHP ซึ่งจะทำหน้าที่ลบแท็กที่เราไม่ต้องการออกให้เหลือไว้แค่แท็ก <a> ของเมนู
$args = array( 'theme_location' => 'primary', 'container' => false, 'echo' => false, 'items_wrap' => '%3$s', 'depth' => 0, ); echo strip_tags(wp_nav_menu( $args ), '<a>' );
จะเห็นว่าเรากำหนดให้ค่าของ items_wrap เหลือไว้แค่ ‘%3$s’ จะได้เหลือแค่แท็ก LI และไม่ให้ฟังก์ใช้ echo ค่าออกมา (echo=false) จะสังเกตุเห็นว่าเราไม่เอา sub เมนูมาด้วยนะครับ (depth=0) อาจจะต้องระวังสำหรับใครที่จะใช้เทคนิคนี้
แหล่งข้อมูล: Remove LI Elements From Output of wp_nav_menu