แสดงบทความที่มีป้ายกำกับ Wordpress แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Wordpress แสดงบทความทั้งหมด

วันจันทร์ที่ 17 กรกฎาคม พ.ศ. 2560

แปลบาง field ของ ACF ด้วย qTranslate

มีปัญหาที่ต้องหาทางแก้ไข คือมีงานนึงที่เราจำเป็นต้องเพิ่ม field หนึ่งอันด้วย ACF (Advanced Custom Fields) แต่ถ้าเราเพิ่มลงไปเฉยๆ เว็บที่เราใช้ qTranslate ในการแปลเนื้อหาของเว็บมันจะไม่สามารถแปล field พวกนี้ได้

เคยเจอ plugin ที่ช่วยให้ใช้ ACF + qTranlate อยู่เหมือนกัน แต่เราไม่อยากใช้ เพราะต้องการแปลแค่ field อันเดียวเท่านั้น

จนไปเจอเข้ากับเว็บนี้ http://www.zighead.com/2016/08/advanced-custom-fields-qtranslate-x/ ที่มาบอกว่ามันมีวิธีที่ทำให้เราสามารถแปล field ของ ACF ด้วยรูปแบบของ qTranlate ได้ด้วยนะ ก็เลยลองทำตามดูเลย แล้วก็พบว่ามันเวิร์คจริง!

สุดยอดไปเลย นอนตาหลับละวันนี้ :D

วันพฤหัสบดีที่ 16 กุมภาพันธ์ พ.ศ. 2560

แก้ภาษาไทยใน WordPress Database ที่เป็นตัวหนังสือแบบ เด็กโข่ง

ไปเจอวิธีแก้จากที่นี่ครับ http://www.mindphp.com/forums/viewtopic.php?f=17&t=33068

ถ้าเป็นที่ table ของ WordPress ก็ใช้คำสั่งนี้

UPDATE wp_posts SET post_content = convert(cast(convert(post_content using latin1) as binary) using utf8)

ถ้าจะแก้ title ก็

UPDATE wp_posts SET post_title = convert(cast(convert(post_title using latin1) as binary) using utf8)

วันอาทิตย์ที่ 13 มีนาคม พ.ศ. 2559

วิธีแก้ WordPress กด Update แล้วหมุนไม่หยุด

อาทิตย์ก่อนเจอปัญหาว่าแก้ไข Custom Post Type กด Update แล้วอัปเดตไม่ได้ หมุนติ้วๆๆ

พยายามอัปเดททุกอย่างก็แล้วก็ไม่หาย แต่สุดท้ายลืมไปตัวนึงคือเจ้า Visual Composer ที่แถมมากับตัว Theme ที่ไม่ได้อัปเดต พอไปโหลดตัวล่าสุดมาลงก็หายเลย :D

ใครที่เจอปัญหานี้ก็ลองดูนะครับว่าได้อัปเดต Plugin ต่างๆ ครบหมดแล้วหรือยัง

วิธีแก้ Plugin WordPress Advanced Custom Fields ไม่ยอมเซฟและแสดงผลไม่ได้

ทำเว็บให้ลูกค้าแล้วก็ใช้ Plugin ที่ชื่อ Advanced Custom Fields(ACF) มาช่วยในการเพิ่ม field เก็บข้อมูลที่ลูกค้าต้องการ เพื่อให้แก้ไขได้ง่ายๆ

ปกติก็ใช้งานได้ดีไม่เคยเจอปัญหาอะไร แต่ Project นี้มันมีต้องทำแบบสองภาษาแล้วก็มี WooCommerce มาผสมด้วยอีก เลยตีกันมั่วเลย

ปัญหาที่เจอล่าสุดคือเราใช้ Field แบบ Repeater แล้วตอนแรกมันก็ดึงข้อมูลมาแสดงได้ปกติดี แต่อยู่ๆ มันก็ไม่แสดงผลซะงั้น งมหาอยู่หลายวันเลย เพราะไม่เห็นมีใครเจอปัญหาแบบนี้เท่าไหร่ ปัญหาที่เจอในกรณีนี้คือเจ้า field ต่างๆ ที่เราเพิ่มมันจะไม่ยอมเซฟข้อมูลด้วย

ทีแรกนึกว่าเป็นที่ Code ที่เราเขียน ซึ่งจริงๆ เราก็เขียนเหมือนเดิมมันไม่น่าจะทำให้ไม่แสดงผลแบบนี้ แล้วก็คิดว่าอาจจะเป็นที่ Plugin หรือ Theme ก็อัปเดตทุกตัวหมดแล้ว แต่ปัญหาก็ยังไม่หาย ลองย้อนเวอร์ชั่นของ Advanced Custom Fields ดูก็ไม่หาย นั่งกลุ้มอยู่นาน

จนในที่สุดก็ใช้วิธี duplicate fields ที่มีปัญหาออกมา แล้วก็ลบ fields อันเก่าออก แล้วก็เข้าไปที่หน้านั้นเพื่อเซฟอีกรอบนึง ก็เรียบร้อยหาย...

วันอาทิตย์ที่ 2 สิงหาคม พ.ศ. 2558

วิธีใส่ Lightbox (FancyBox) ลงไปใน WordPress Theme

ช่วงนี้มีงานที่ต้องใช้ Lightbox บนหน้าเว็บไซต์ แต่เราต้องการการ customize พิเศษอยู่สักหน่อย ก็เลยต้องหาวิธีที่จะเขียนมันใส่ไว้ใน Theme ของ WordPress ที่เราทำ เลยเจอ tutorial จากเว็บ tutsplus.com เจ้าประจำ สอนละเอียดยิบ สามารถทำตามได้เลย แจ่มจริงๆ

http://code.tutsplus.com/tutorials/add-a-responsive-lightbox-to-your-wordpress-theme--wp-28100

วันพฤหัสบดีที่ 22 มกราคม พ.ศ. 2558

สร้าง Theme Wordpress ด้วยตัวเอง

ไปเจอ ebook บนเว็บ issuu.com ซึ่งเล่มนี้เค้าสอนสร้าง theme สำหรับ Wordpress แบบไม่มีอะไรเลย ใครสนใจอยากสร้าง theme ของตัวเองลองเข้าไปอ่านกันดูครับ

http://issuu.com/milko02010/docs/buildingwordpressthemesfromscratch-


วันเสาร์ที่ 11 ตุลาคม พ.ศ. 2557

เพิ่ม jQuery ลงใน Wordpress theme

เวลาทำเว็บที่ใช้ Wordpress ปกติใช้แต่ Theme สำเร็จรูป และก็ไม่ค่อยได้มีเหตุให้ต้องใช้ jQuery อะไรซักเท่าไหร่ แต่วันนี้ต้องแก้ปัญหาที่ใช้ CSS ไม่สำเร็จ ก็เลยต้องเอา jQuery มาใช้ใน Theme

แต่พอลองใส่ code jQuery เข้าไปมันดันไม่ทำงาน ลอง inspect ดูก็พบว่ามันไม่มีการเรียก library ของ jQuery ขึ้นมาน่ะเอง มันก็เลยไม่รู้จัก

ลองหาวิธีแก้ว่าจะเรียกยังไงถึงจะดี ก็เจอกระทู้นี้

https://wordpress.org/support/topic/include-jquery-in-headerphp-please-help

แล้วก็เลยกลับไปใส่เพิ่มบ้างลงใน header.php ซะเลย

<?php wp_enqueue_script("jquery"); ?>
<?php wp_head(); ?>

จากนั้นก็เขียน jQuery ใส่เข้าไปโดยเปลี่ยนการใช้ $ ไปเป็น jQuery แทนทั้งหมดเช่น

จากเดิม

$(function(){
     $("#header").hide();
});

ก็เป็น

jQuery(function(){
    jQuery("#header").hide();
});

แต่จริงๆ เราสามารถใช้ $ เหมือนเดิมได้ด้วย แต่ให้ใช้แบบนี้

jQuery(document).ready(function($) {
 //code.
});

วันพฤหัสบดีที่ 15 ธันวาคม พ.ศ. 2554

สร้าง template สำหรับ NextGen Gallery (WordPress)

ปกติ NextGen Gallery plugin ของ WordPress จะไม่แสดงข้อมูลใน description ออกมา เราก็เลยไปหาวิธี ซึ่งก่อนหน้านี้เราไปแก้ในไฟล์ gallery.php ซึ่งอยู่ในตัว plugin เลย พอมันอัพเดทเวอร์ชั่นไฟล์นี้ก็ถูกเขียนทับทำให้มันหายไป

ก็เลยลองหาวิธีใหม่ ก็เลยเพิ่งรู้ว่ามันมีวิธีสร้าง template ไว้ใช้เองด้วย
http://wordpress.org/support/topic/plugin-nextgen-gallery-missing-description-under-thumbnails

ก็เลยลองทำตามดูก็เลยพบว่าเราสามารถเก็บ template ที่ทำไว้แยกออกจากตัว plugin ได้ ทำให้ไม่โดนทับไฟล์เวลาที่ตัว plugin มีการอัพเดทขึ้นมา

แต่เราก็เจอปัญหาแปลกๆ ขึ้น เมื่อเราพยายามใส่ description ลงไปบน title ของ link เท่าไหร่ มันก็ไม่เปลี่ยนซักที แต่ถ้าใส่ tag ที่อื่นมันก็ทำงานได้ปกติ ลองหาอยู่นาน จนลองเปิด source code ดู ก็เลยเห็นว่ามันมีการเปลี่ยนแปลงในตัว title ไปแล้ว แต่เจ้า FancyBox ที่เอาใช้ มันไปทำการดึง title จากในรูปมาใส่ให้แทนมันก็เลยไม่มีการเปลี่ยนซักที สุดท้ายก็เลยต้องไปใส่ตรง title ของรูปแทน แล้วก็ใช้งานได้ดีเลย

มี trick เล็กๆ สำหรับการใส่ html tag ลงไปด้วยบน title ด้วยการแปลงตัวอักษรให้เป็น html entity ซะก่อน เช่น < ก็เป็น &lt; และ > ก็เป็น &gt; ก็จะสามารถใช้ tag html ใส่ลงไปใน title ของรูปได้ แล้วแสดงผลออกมาบน title ของรูปได้ละ

วันอังคารที่ 11 ตุลาคม พ.ศ. 2554

แก้ WP e-commerce ให้แสดงสินค้าจากใหม่ไปเก่า

ใช้ WP e-commerce แล้วเจอปัญหาว่ามันเรียงสินค้าจากเก่าสุดไปใหม่สุด ซึ่งมันไม่เวิร์ค ดูใน Setting แล้วก็ไม่เจอที่แก้ไข เลยต้องควานหาในไฟล์ต่างๆ ของมัน ก็ไปเจออยู่ที่
/wp-e-commerce/wpsc-core/wpsc-functions.php

ในบรรทัดที่ 539

แก้จาก
'order'       => apply_filters('wpsc_product_order','ASC')
เป็น
'order'       => apply_filters('wpsc_product_order','DESC')


ก็จะเรียบร้อย

วันอังคารที่ 4 ตุลาคม พ.ศ. 2554

แก้การส่งอีเมลไม่ออกใน WP e-commerce

ช่วงนี้ทำเว็บขายของให้ลูกค้าอยู่ แล้วก็ใช้เจ้า WP e-commerce ที่จำเป็นต้องใช้ เพราะว่า plugin ตัวอื่นๆ ที่ทำ Shopping cart มันใช้กับ Windows Host ไม่ได้ซะนี่ เลยจำเป็นต้องใช้เจ้านี่ไป

แล้วปัญหาที่เจอขั้นแรกก็คือว่า Host ที่ลูกค้าใช้มันส่งเมลผ่าน php mail ไม่ได้ เลยไปหา plugin ที่ช่วยให้ Wordpress ส่งอีเมลผ่าน SMTP ได้ (WP-Mail-SMTP)

แต่ปัญหาก็ยังไม่จบ เพราะ WP e-commerce มันส่งอีเมลไปบอก Tracking number ให้ลูกค้าไม่ได้ ก็งมหาอยู่นานเลยว่ามันอยู่ที่ไฟล์ไหน จนมาเจอว่ามันอยู่ที่ /plugins/wp-e-commerce/wpsc-admin/ajax-and-init.php ในบรรทัดที่ 48

ของเดิมจะเป็นแบบนี้
wp_mail( $email, $subject, $message);
 
ผมลองทดสอบดูแล้วมันส่งไม่ไปถ้ายังใช้ $subject ก็เลยเปลี่ยนไปเป็นแบบนี้ครับ
wp_mail( $email, "Tracking Number from ....", $message);

แล้วมันก็ส่งออกไปละครับ

แต่ตอนนี้ยังมีปัญหาที่มันยังส่ง Slip ไปให้ลูกค้าไม่ได้ -*-

วันพุธที่ 7 กันยายน พ.ศ. 2554

หา Wordpress ebook ด้วย Calibre

โปรแกรม Calibre เป็นโปรแกรมที่เอาไว้ช่วยจัดการและแปลงไฟล์ ebook ให้เหมาะสมกับเครื่องอ่าน ebook รุ่นต่างๆ สามารถดาวน์โหลดได้ฟรีที่นี่ครับ http://calibre-ebook.com/

แต่วันนี้ผมเพิ่งได้ลองใช้เจ้า Calibre ในการช่วยหา ebook ซึ่งความสามารถนี้คงจะมีมานานแล้วในโปรแกรมนี้แต่ผมเพิ่งได้ลองใช้ครับ :)


ซึ่งผมลองหาหนังสือเกี่ยวกับ Wordpress ก็เจอซะด้วย (ก่อนนี้ลอง CSS ก็เจอหลายเล่มเลยครับ) เลยเอามาแปะลง blog ดูซะเลย อิอิ

Backup Wordpress Database อัตโนมัติ

http://wordpress.org/extend/plugins/wp-db-backup/

เยี่ยมไปเลย! ตั้งให้มัน backup ได้เป็นรายชั่วโมงหรือรายสัปดาห์ก็ได้ แล้วก็ส่งเป็นเมลไปให้เรา สุดยอดๆ ^ ^

เจอจากที่นี่ http://winkpress.com/essential/

เขียน jQuery บน Wordpress แล้วไม่ยอมทำงาน

วันนี้ต้องปรับหน้าเว็บ Wordpress ของลูกค้าให้แสดงหน้าเป็น step เราก็พยายามทำตามที่ดูใน podcast ของ http://css-tricks.com แต่ทีนี้เขียน jQuery ใส่ลงไปยังไงมันก็ไม่ยอมทำงาน เราก็เช็คดูทุกตัวอักษรแล้วนะว่าเราเขียนไม่ผิด แต่มันไม่ทำงานเลย

พยายามหาอ่านเบสิค jQuery ก็ไม่เจอ จนต้องไปหาว่ามันเป็นเพราะ Wordpress ด้วยหรือเปล่า ก็เลยเจออันนี้


Apparently you are using both jQuery and Mootools and both of them do use $ as an alias to a core function. Probably the $ function which is generating this error is the Mootools function. I'd suggest you to try to write your jQuery code using jQuery instead of $ so you can confirm my point is right or not.
จาก http://stackoverflow.com/questions/5706093/jquery-error-uncaught-typeerror-object-htmldocument-has-no-method-ready

ก็เลยไปแก้จาก $("#XXX").hide(); เป็น jQuery("#XXX").hide(); ก็ใช้งานได้ทันทีเลย ^ ^