ការ​កាត់​ពាក្យ​ខ្មែរ​នៅ​ក្នុង Excerpt របស់ WordPress

មាន​ពេល​ខ្លះ អ្នក​ធ្វើ​វេបសាយ​តាម WordPress ត្រូវ​ការ​ប្រើប្រាស់ the_excerpt()get_the_excerpt() ជាមួយ​នឹង​អត្ថបទ​ខ្មែរ។ ប៉ុន្តែ​អ្វីៗ​វា​មិន​បាន​ដូច​ការ​រំពឹង​ទុក​របស់​យើង​ទេ។ អនុគមន៍​ទាំង​ពីរ​នេះ​វា​នឹង​កាត់​ឬ​តម្រឹម​យក​ពាក្យ​ដោយ​ផ្អែក​លើ​លក្ខខណ្ឌ​ពីរ (មើល​កូដ​ដើម)៖

  • ប្រសិន​បើ​មាន​ការ​កំណត់​នៅ​ក្នុង​ឯកសារ​បកប្រែ​ថា​រាប់​ពាក្យ​ដោយ​ផ្អែក​លើ characters (ចំពោះ​ភាសា​ណា​ដែល​មួយ​តួ​អក្សរ​ស្មើ​មួយ​ពាក្យ) នោះ​ការ​កាត់​ពាក្យ​ក៏​នឹង​កាត់​តាម​តួអក្សរ។
  • ប្រសិន​បើ​ផ្អែក​លើ words នោះ​វា​នឹង​រាប់​តាម​ពាក្យ ដោយ​មួយ​ពាក្យៗ​ញែក​គ្នា​ដោយ​ដំណកឃ្លា។ ហើយ​នេះ​ជា​លំនាំដើម​នៅ​ក្នុង WordPress។

ជា​ទូទៅ អ្វី​ដែល​ខ្ញុំ​ធ្លាប់​ធ្វើ​គឺ​កែ​សម្រួល​អនុគមន៍​នោះ​ដោយ​កាត់​តាម​តួអក្សរ ប៉ុន្តែ​វា​ហាក់​ដូចជា​មិន​ទំនង​ចំពោះ​ភាសា​ខ្មែរ។ ដូច្នេះ​ហើយ​ចុងក្រោយ​ខ្ញុំ​ក៏​មក​ដល់​ចំណុច​មួយ​នេះ គឺ​កែសម្រួល​អនុគមន៍​នោះ​ឲ្យ​ចាប់​ពាក្យ​ខ្មែរ​ដោយ​ផ្អែក​លើ​ចន្លោះ​មិន​ឃើញ តាម​វិធីសាស្ត្រ regular expression។

នៅ​ក្នុង​នេះ អ្វី​ដែល​យើង​ចាំបាច់​ត្រូវ​ធ្វើ​នោះ​គឺ​លុប​អនុគមន៍ callback wp_trim_excerpt ដើម​របស់ WordPress ចេញ​ពី​បញ្ជី។ រួច​ហើយ​យើង​បង្កើត​អនុគមន៍ callback ថ្មី​មួយ​ទៀត​ដោយ​ផ្អែក​លើ​អនុគមន៍​ដើម ប៉ុន្តែ​ផ្លាស់ប្ដូរ​វិធី​កាត់​ពាក្យ។ អ្នក​អាច​យក​កូដ​នេះ​ទៅ​ប្រើ​ផ្ទាល់​នៅ​ក្នុង​ឯកសារ functions.php នៅ​ក្នុង​ពុម្ពរូបរាង។ នេះ​គ្រាន់​តែ​ជា​កូដ​បឋម​ប៉ុណ្ណោះ ហើយ​ប្រសិន​បើ​អ្នក​ត្រូវការ​កែ​អ្វី​ទៀត ក៏​អាច​យក​ទៅ​ធ្វើ​តាម​សប្បាយ។

អ្នក​ត្រូវ​ចាំ​ថា អត្ថបទ​នោះ​ត្រូវតែ​មាន​ប្រើ “ចន្លោះ​មិន​ឃើញ”។

Pattern ដែល​ខ្ញុំ​ប្រើ​នោះ​គឺ​ដើម្បី​ចាប់​គ្រប់​សញ្ញា​និង​វណ្ណយុត្តិ, តួ​អក្សរ​អង់គ្លេស, លេខ​ឡាតាំង, និង​អក្សរ​ខ្មែរ​ចាប់​ពី​យូនីកូដ \u1780 ដល់ \u17FF រហូត​ដល់​ត្រឹម ចន្លោះ​មិន​ឃើញ (\u200B), ដំណកឃ្លា, សញ្ញា​ខណ្ឌ (\u17D4), សញ្ញា​ខណ្ឌ​ចប់ (​​\u17D5)។

វិធី​មួយ​ទៀត​កំពុង​ពិចារណា

នៅ​មាន​វិធីសាស្ត្រ​មួយ​ទៀត​ដែល​ខ្ញុំ​គិត​ឃើញ គឺ​ត្រូវ​ពឹងផ្អែក​លើ​ផ្នែក​បន្ថែម​របស់ PHP គឺ php-intl ដែល​ជា wrapper លើ​បណ្ណាល័យ ICU។ ប៉ុន្តែ​អ្វី​ដែល​ខ្ញុំ​ខ្វល់​នោះ​គឺ មិន​ប្រាកដ​ថា​រាល់​អ្នក​ដំឡើង WordPress ប្រើ​ផ្ទាល់​ខ្លួន​នោះ​មាន VPS ផ្ទាល់​ខ្លួន​ឫឥត? ពីព្រោះ​ខ្ញុំ​មិន​ប្រាកដ​ថា​គ្រប់ Shared Hosting គេ​បាន​ដំឡើង​ផ្នែក​បន្ថែម​នោះ​និង​បណ្ណាល័យ ICU ដែរ​ឬ​អត់​ទេ។

ការ​ប្រើប្រាស់​បណ្ណាល័យ ICU វា​ងាយ​ស្រួល​ត្រង់​ថា​ការ​កាត់​ពាក្យ​អាច​ប្រព្រឹត្តិ​ទៅ​បាន​ដោយ​ផ្អែក​លើ​វចនានុក្រម ហើយ​វា​មាន​មុខងារ​ច្រើន ប៉ុន្តែ​យើង​ប្រើ​តែ​ការ​ចាប់​ពាក្យ​ប៉ុណ្ណោះ។

វា​អាច​នឹង​មាន​ល្បឿន​យឺត ហើយ​ការ​កាត់​ពាក្យ​ក៏​អាច​នឹង​ភាន់​មិន​ស្គាល់​ពាក្យ ប្រសិនបើ​អ្នក​សរសេរ​ពាក្យ​ខុស ត្បិត​អី​វា​ផ្អែក​លើ​វចនានុក្រម​ដែល​ខ្ញុំ​បាន​លើកឡើង​ពី​ខាង​លើ។ តែ​យ៉ាង​ណា នឹង​សាកល្បង​លេងៗ​ថា​វា​យ៉ាង​ម៉េច​ទៅ​វិញ។

8 Replies to “ការ​កាត់​ពាក្យ​ខ្មែរ​នៅ​ក្នុង Excerpt របស់ WordPress”

  1. I want to make excerpt by line ex: 1 or 2 or3 line of excerpt

    and 1 more thing my website is look great in chrome but when i open it in firefox it is wired ..so please help me.

    my website vkhmer.host

    1. Hi, sorry for late reply. There are two ways of using excerpt in WordPress. The first one is the use of the defined excerpt length in your theme code, and the second is the use of manual excerpt which can be found in Editor screen.

      I think that your problem is the displaying of Khmer text. Like I mentioned in my blog post is that you have to use “Zero-width Spaces” so the Firefox (or other web browser with no ICU support) know where to break the words.

      Let me know if I answered to your question.

Leave a Reply