Author Topic: เพิ่มความยาวให้กับ permalink setting ที่เป็น postname ของ wordpress  (Read 7387 times)

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2145
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
ท่านใดที่เคยใช้งาน wordpress ที่เป็น cms ในการสร้าง blog หรือ เว็บไซต์นะครับ
น่าจะคุ้นเคยดีกับส่วนนี้ ที่เป็น keyword topic เช่นผมเขียน content สักเรื่องแล้วเวลาที่ save มันจะเป็นชื่อ topic นั้นใน url ให้เราครับผม

เช่นผมตั้ง topic เรื่องที่จะเขียนว่า Packetlove IT service and consulting Co., Ltd.
เวลา save page ก็จะให้ขึ้นเป็น
http://golfreeze.packetlove.com/guyblog/archives/packetlove-it-service-and-consulting-co-ltd.html

เพื่อเป็นการทำให้เว็บเรา รองรับการเข้าใช้งานแบบ SEO เพิ่มความง่ายในการค้นหาตอนใช้ google ค้นหาครับผม

อ่าและวันนี้ ก็จะมาแนะนำวิธีเพิ่มความยาวในส่วนที่เป็น topic ภาษาไทยครับ
สำหรับ wordpress รุ่นใหม่ๆ ที่ออกมา ไฟล์ที่ต้องแก้จะอยู่ใน path : wp-include ครับผม
1. ก่อนอื่นเลยทำการ copy file ไว้ก่อนนะครับ
#cd wp-includes
#cp -p formatting.php formatting.php_ori
#vi formatting.php

2. ค้นหาบันทัดที่เป็น sanitize_title ครับ และมองว่าส่วนที่เป็น 200 เป็นค่า default ที่ถูกตั้งค่าไว้ว่าห้ามเกิน 200 character ในกรณีที่แปลงเป็น encoding แบบ utf8 นะครับผม
ทำการแก้ไขค่า จาก 200 เป็นค่าที่มากขึ้นครับ แต่ไม่ควรเกิน 900 นะครับ ถ้าเกินนี้อาจจะทำให้เว็บมีการทำงานที่โหลดเกินไป และทำให้เว็บเข้าถึงได้ช้าครับผม

function sanitize_title_with_dashes( $title, $raw_title = '', $context = 'display' ) {
        $title = strip_tags($title);
        // Preserve escaped octets.
        $title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title);
        // Remove percent signs that are not part of an octet.
        $title = str_replace('%', '', $title);
        // Restore octets.
        $title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $title);

        if (seems_utf8($title)) {
                if (function_exists('mb_strtolower')) {
                        $title = mb_strtolower($title, 'UTF-8');
                }
                $title = utf8_uri_encode($title, 200);
        }
3. ปรับเสร็จก็ save ออกมานะครับผม

4.ขั้นตอนต่อไปทำการปรับแก้ไขข้อมูลใน โครงสร้างของ database ที่เราลง wordpress ไว้นะครับผม
อาจจะเข้าผ่าน phpmyadmin ก็ได้ครับผม
เข้าไปที่ table = wp_posts แล้วเลือก โครงสร้าง หรือ structure ครับ
ทำการคลิกเข้าไปที่ column "post_name" ทำการปรับเปลี่ยนค่า Length/Values จากค่าเดิม 200 เป็นค่าที่เราใส่ใหม่ครับ เช่น 500 เป็นต้น
ทำการ save ออกมา

5. แล้วทำการปรับค่า permalink topic ของแต่ละ page ได้เลยครับผม โดย login เข้าไปในระบบหลังบ้านของ wordpress แล้วไล่เปลี่ยนได้เลยครับผม  ;)
« Last Edit: กันยายน 27, 2015, 09:58:12 AM by golfreeze »