ถาม เซียน WordPress ไขปัญหา !!!!!

เริ่มโดย amulet, 31 พฤษภาคม 2009, 01:23:48

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

Newbies

อย่าให้รอนานนะครับ เดี๋ยวกระทู้หาย  :P

ผมเคยแกะๆมันดู ก็ยังไม่เจอครับ



infinity*

อ้างถึงจาก: Newbies ใน 04 มิถุนายน 2009, 00:08:39
อย่าให้รอนานนะครับ เดี๋ยวกระทู้หาย  :P

ผมเคยแกะๆมันดู ก็ยังไม่เจอครับ

5555
ช้าเดี่ยวลบน่ะ...ขำๆๆ

g-ji

#22
จะให้แก้ิอะไรหว่า ตาบอล :P

เอาละ ไม่เอาน้ำละ เนื้อๆ เลย กลัวกระทู้หาย !!!

วิธีแก้ แบบ ดิบๆ

เปิดไฟล์

wp-includes/link-template.php

ประมาณ บรรทัดที่ 140 (แต่ละเวอร์ชันมันไม่เท่ากัน ที่แก้นี่ทำใน 2.8 b1)

มันจะเขียนประมาณนี้


140 array(
$date[0],
$date[1],
$date[2],
$date[3],
$date[4],
$date[5],
$post->post_name,/*url ของ post*/
$post->ID,
$category,
$author,
$post->post_name,/*url ของ page*/


ลองหาดูนะ แล้วแก้

$post->post_name ที่อยู่ใต้ $date[5] เป็น

$post->post_title

ถ้าอยากแก้ของ page ด้วยก็ทำที่เดียวกัน

เท่านี้ก็จะทำให้แสดงผลไตเติ้ลภาษาอื่นนอกจากภาษาอังกฤษแบบยาวๆ เป็นกิโลได้แล้ว แบบนี้ ↓


ข้อเสีย !!!

เนื่องจากมันเป็นการแก้ไขแบบ ดิบๆ ด้วยการให้มันเรียก post_title มาทำเป็น permalink แทน post_name เพราะฉะนั้น ถ้ามีการแก้ไข ที่ตัวลิ้งค์ หรือ ตัวไตเติ้ล ของโพสนั้นๆ ตัว permalink ก็จะเปลี่ยนตามไปด้วย
และที่สำคัญ ช่องว่างระหว่างคำ จะกลายเป็น %20 (สัญลักษณ์ช่องว่างใน url)

เพราะฉะนั้นระวังให้ดี

ความยาว post_title มีการเก็บข้อมูลแบบ text ซึ่งสามารถใส่ตัวอักษรได้ประมาณ 65xxx (จำหน่วยไม่ได้)

--------------------------
ระหว่างที่โพสนี้ก็ ทดลอง เพิ่ม permalink structure เข้าไปเอง มันก็ใช้ได้นะ :-[ ผลไม่ต่างกันเท่าไร

แต่เพิ่ม %post_title% เข้าไป สามารถแก้ไขใน setting>>permalink ได้ด้วย จะเอาด้วยมั้ยนิ ???

หุหุ เดี๋ยวลองทำเพิ่มหลายๆ แบบดูดีกว่า

:o

กรรมจริงๆ เจอบัก  :P  ปัญหาใหญ่ซะด้วย

อย่าพึ่งเอาไปใช้กันจริงๆ นะ เดี๋ยวขอแก้ไขเพิ่มเติมก่อน

ใกล้ถึงทางสว่างแล้ว !!!


พบบักตอนเพิ่ม permalink structure ไม่สามารถเพิ่ม %post_title% ได้ ถ้าเพิ่มเข้าไปมันจะ error 404 ไว้ค่อยลองแก้ใหม่ทีหลัง

แต่ แบบ ดิบ สามารถเอาไปใช้ได้เลย แต่จะไม่สามารถมีช่องว่างในไตเติ้ลได้ (ถ้ามีช่องว่างจะถูกแทนด้วย%20) ถ้าจะเว้นช่องว่างให้ พิมพ์ - หรือ _ เข้าไป ในไตเติ้ลแทน (เว้ากันซื่อๆ คือ ความสามารถในการ สร้าง url ของตัว WP จะถูกปิดไปเลย ต้องพิมพ์ - สำหรับเว้นวรรคแทน)

***
- ใน url มีค่าเท่ากับ คำแรก - คำหลัง = เป็นคำเดียว (เช่น white-house = บ้านสีขาว)

_ ใน url มีค่าเท่ากับ คำแรก _ คำหลัง = เป็นคนละคำ รวมกันมีความหมาย และเป็นคำสำคัญ (white_house = สีขาว และ บ้าน รวมกัน = บ้านสีขาว)

, ใน url มีค่าเท่ากับ คำแรก , คำหลัง = เป็นคนละคำ รวมกันไม่มีความหมาย(white,house = สีขาว กับ บ้าน )

amulet

#23
อ้างถึง


แต่เพิ่ม %post_title% เข้าไป สามารถแก้ไขใน setting>>permalink ได้ด้วย จะเอาด้วยมั้ยนิ ???

หุหุ เดี๋ยวลองทำเพิ่มหลายๆ แบบดูดีกว่า

เอาด้วยครับ

permalink ของ wp จะมีช่องเว้น ระหว่าง คำ ไม่ได้เลยหรอครับ

infinity*

อ้างถึงจาก: amulet ใน 04 มิถุนายน 2009, 00:31:25
อ้างถึง


แต่เพิ่ม %post_title% เข้าไป สามารถแก้ไขใน setting>>permalink ได้ด้วย จะเอาด้วยมั้ยนิ ???

หุหุ เดี๋ยวลองทำเพิ่มหลายๆ แบบดูดีกว่า

เอาด้วยครับ

permalink ของ wp จะมีช่องเว้น ระหว่าง คำ ไม่ได้เลยหรอครับ

เปลี่ยนจากช่องว่างเป็นเราใส่ขีดกลาง (-) เข้าไปแทนจะได้ป่าวครับ เหมือนลิ้งที่เป็นภาษาอังกฤษพอเว้นช่องว่างมันจะขีดกลางให้ หรือผมจำผิด ;)
เดี๋ยวลองไปแก้ดูก่อนครับ
ยังไงก็ขอบคุณมากครับ ชอบใจมากแต่ยัง + ไม่ได้

g-ji

#25
ต้องพิมพ์ - ,_ , อื่นๆ เข้าไปแทนช่องว่างเองอ่ะ

ถ้าทำแบบนี้ ความสามารถในการ สร้าง permalink ของ WP จะใช้ไม่ได้ตามไปด้วย และผลของมันอาจจะทำให้ลิ้งค์ในหน้า เสียหมดเลย เพราะ ลิ้งค์ไปไม่มีหน้า (404)

ระวังกันหน่อยละกัน

แต่ถ้าถามว่า

xxx%20xxx << บอทเข้าใจมั้ย

เข้าใจ ว่า

xxx วรรค xxx เป็นคนละคำ แต่ละคำมีความหมาย

***
- ใน url มีค่าเท่ากับ คำแรก - คำหลัง = เป็นคำเดียว (เช่น white-house = บ้านสีขาว)

_ ใน url มีค่าเท่ากับ คำแรก _ คำหลัง = เป็นคนละคำ รวมกันมีความหมาย และเป็นคำสำคัญ (white_house = สีขาว และ บ้าน รวมกัน = บ้านสีขาว)

, ใน url มีค่าเท่ากับ คำแรก , คำหลัง = เป็นคนละคำ รวมกันไม่มีความหมาย(white,house = สีขาว กับ บ้าน )

ช่องว่าง มีค่าเท่ากับ คำแรก คำหลัง = เป็นคนละคำ แต่ละคำมีความหมาย ไม่ได้หมายถึงสิ่งเดียวกัน

amulet

อ้างถึงจาก: infinity* ใน 04 มิถุนายน 2009, 00:37:46
อ้างถึงจาก: amulet ใน 04 มิถุนายน 2009, 00:31:25
อ้างถึง


แต่เพิ่ม %post_title% เข้าไป สามารถแก้ไขใน setting>>permalink ได้ด้วย จะเอาด้วยมั้ยนิ ???

หุหุ เดี๋ยวลองทำเพิ่มหลายๆ แบบดูดีกว่า

เอาด้วยครับ

permalink ของ wp จะมีช่องเว้น ระหว่าง คำ ไม่ได้เลยหรอครับ

เปลี่ยนจากช่องว่างเป็นเราใส่ขีดกลาง (-) เข้าไปแทนจะได้ป่าวครับ เหมือนลิ้งที่เป็นภาษาอังกฤษพอเว้นช่องว่างมันจะขีดกลางให้ หรือผมจำผิด ;)
เดี๋ยวลองไปแก้ดูก่อนครับ
ยังไงก็ขอบคุณมากครับ ชอบใจมากแต่ยัง + ไม่ได้


ถ้าอย่างนั้น ตรงช่องว่าง ก็ใส่ - หรือ_  คงก็แก้ปัญหาตรงนี้ได้

ถ้าเป็น คอมโพเน้นท์ ของจุมล่า มันจะให้เรากำหนดว่า จะเป็น -หรือ_ พอมีช่องว่าง มันจะใส่ขีดให้อัตโนมัต

ถ้าwp แก้ไขเรื่องความยาวของ link ได้ ตรงช่องว่าง ใส่ขีด - โดย อัตโนมือ  ก็โอเคนะ พอถูไถ่ไปได้

infinity*

อ้างถึงจาก: g-ji ใน 04 มิถุนายน 2009, 00:53:03
ต้องพิมพ์ - ,_ , อื่นๆ เข้าไปแทนช่องว่างเองอ่ะ

ถ้าทำแบบนี้ ความสามารถในการ สร้าง permalink ของ WP จะใช้ไม่ได้ตามไปด้วย และผลของมันอาจจะทำให้ลิ้งค์ในหน้า เสียหมดเลย เพราะ ลิ้งค์ไปไม่มีหน้า (404)

ระวังกันหน่อยละกัน

ทดสอบดูแล้วครับ

กลายเป้นว่า ทั้ง 2 url นั้นใช้ได้ทั้งคู่เลย ตรง permalink ของ WP  ก็เข้าได้เช่นกัน ตกลงว่า 1 บทความราได้ 2 ลิ้งเลยเหรอครับ

ยกตัวอย่างครับ   www.xxxxx.com/การส่งชื่อเข้าร่วมประกวดหมีแพ/            <นี่คือ permalink ที่ WP สร้างให้>
  นี่คืออันที่ผมแก้ www.xxxxx.com/การส่งชื่อเข้าร่วมประกวดหมีแพนด้าหมดเขตวันที่14มิถุนายน2552นี้/    <นี่แก้เอง>
ทั้ง 2 link นี้ เข้าไปที่บทความได้ทั้งคู่ แบบนี้มันจะดีป่าวครับ มีผลต่อ seo ยังไง     

amulet

#28
สรุปแก้ดี หรือไม่แก้ดีน่ะ? ???

HARRY

รอเซียนมา ฟันธง

แต่ก็อยากแก้เหมือนกันครับ ดูแล้วมันตรงประเด็น สวยงาม

g-ji

ไม่ดี

Duplicate content

เนื่องจากว่ามันไปแก้ที่ Core Code แบบดิบๆ ไม่ได้สร้าง permalink structure ขึ้นมาใหม่ มันเลยมีบักเล็กๆ น้ิอยๆ

ถ้าพึ่งสร้างเว็บ เอาไปใช้เลยก็ ok แต่ถ้าทำมานานแล้ว ไม่แนะนำให้แก้

ถ้าอยากได้แบบ ชัวร์ๆ คงต้อง แก้ permalink กันใหม่เลย :P แล้วอาจจะต้องไปแก้ไฟล์ rewrite.php ด้วย

ซึ่ง คงแก้ไม่ไหวแน่ๆ

แถมถ้าแก้ไปก็จะมีปัญหากับ WP เวอชันใหม่ๆ ด้วย

ก็อาจจะต้องเลือกว่า จะ เขียน permalink structure ขึ้นมาใหม่ หรือจะ ออกแบบ ฐานข้อมูลใหม่  :-\

มันงานช้างทั้งคู่อ่ะ

เขียน CMS ตัวใหม่ใช้เองเลยจะเร็วกว่านั่งแก้มั้ยนี่

amulet

ผมว่าทาง WP  เขาไม่เคยรู้ถึงปัญหานี้เลยหรอครับ ผมว่าต้องมีชาติอื่นที่เป็นปัญหาแบบนี้บ้างละ พวกอักษรภาษาจีน  ภาษาญี่ปุ่น

g-ji

 :P เหอๆ ปัญหานี้มันเรื่องเล็กอ่ะ

แล้วก็ ภาษาญี่ปุ่น - จีน มัน encode ได้ตัวอักษรพอๆ กันนะ แต่ว่า 1คำ เขาก็มีความหมายไง

ภาษาญี่ปุ่น 1 คำ (คันจิ)

%e5 %92 %b2 คำเดียวก็เข้าใจแล้ว

ภาษาจีนยิ่งไม่มีปัญหา เพราะ 1 คำ = 1ความหมาย

ไตเติ้ลนึง พิมพ์  3-4 คำก็เหลือเฟือ * 9 = โค้ด 27~36 ตัว ซึ่งมันก็ยังไม่เกิน (สูงสุด 200 )


ตัว ก

%e0 %b8 %81 ก ตัวเดียวเข้าใจมั้ยเนี้ย แถมสระ = 1 ตัวอักษรอีก

ฉันไปกินข้าว = 12 ตัวอักษร *9 = โค้ด 108 ตัว เข้าไปแล้ว

:P

amulet

อ้างถึงจาก: g-ji ใน 04 มิถุนายน 2009, 01:33:54
:P เหอๆ ปัญหานี้มันเรื่องเล็กอ่ะ

แล้วก็ ภาษาญี่ปุ่น - จีน มัน encode ได้ตัวอักษรพอๆ กันนะ แต่ว่า 1คำ เขาก็มีความหมายไง

ภาษาญี่ปุ่น 1 คำ (คันจิ)

%e5 %92 %b2 คำเดียวก็เข้าใจแล้ว

ภาษาจีนยิ่งไม่มีปัญหา เพราะ 1 คำ = 1ความหมาย

ไตเติ้ลนึง พิมพ์  3-4 คำก็เหลือเฟือ * 9 = โค้ด 27~36 ตัว ซึ่งมันก็ยังไม่เกิน (สูงสุด 200 )


ตัว ก

%e0 %b8 %81 ก ตัวเดียวเข้าใจมั้ยเนี้ย แถมสระ = 1 ตัวอักษรอีก

ฉันไปกินข้าว = 12 ตัวอักษร *9 = โค้ด 108 ตัว เข้าไปแล้ว

:P



เหอะๆ ภาษาไทย รหัสโค๊ดเยอะ เข้าใจยาก ฝรั่งเลยพัฒนา แต่ภาษาอื่นๆ

akiraten

แล้วใน Seting>Permalink ให้ตั้งเป็นอะไรครับ

  • Default
  • Day and name
  • Month and name
  • Numeric
หรือ
  • Custom Structure

อัลเบิร์ต ไอน์สไตน์ >> จินตนาการสำคัญเหนือความรู้
http://www.10logic.com

monthonsite

มันจะถูกตั้ง Spack ตามที่ช่องมันใส่ได้ ทำไมไม่ทำเป็นภาษาอังกฤษหล่ะ มันจะเป็น %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ตาลาย ใช้อังกฤษดีกว่าแยอะ

akiraten

อัลเบิร์ต ไอน์สไตน์ >> จินตนาการสำคัญเหนือความรู้
http://www.10logic.com

aseptic

[direct=http://]-[/direct]
[direct=http://]-[/direct]