• Webmaster Tools
  • Diễn Đàn Hỏi Đáp
  • Profile
  • Ủng hộ
  • DNS Check
  • CheckIP
  • Liên Hệ
Đỗ Trung Quân
  • HƯỚNG DẪN
  • LINUX
    • Linux Tricks
    • Distro Linux
      • CentOS/RedHat
      • CloudLinux
      • Ubuntu/Debian
      • AlmaLinux
    • WebServer
      • NGINX
      • Apache
      • LiteSpeed
    • Virtualization
    • Monitoring Tool
      • Zabbix
    • DevOPS
      • Ansible
      • Docker
      • Jenkins
      • AWS
    • Mail Server
    • VPN
  • CONTROL PANEL
    • cPanel
    • DirectAdmin
    • aaPanel
    • FastPanel
    • CyberPanel
    • Easypanel
    • VestaCP
    • CloudPanel
    • HestiaCP
    • Plesk
    • Script VPS
  • DNS
    • Domain
  • CMS
    • WordPress
    • Laravel
  • SECURITY
    • SSL
    • Firewall
  • DỊCH VỤHOT
  • WEB MẪUHOT

Fix get_page_by_title in WordPress 6.2.0 and Flatsome Theme

by ĐỖ TRUNG QUÂN 04/04/2023
Tác giả: ĐỖ TRUNG QUÂN 04/04/2023 2 comments 1,1K lượt xem
Dịch vụ xử lý mã độc WordPress
WEB MẪU WORDPRESS
Share FacebookTwitterPinterestTelegramEmail
1,1K

NỘI DUNG

  • Hàm get_page_by_title
  • Tại sao get_page_by_title() bị phản đối (deprecated) trong WordPress
  • Để sửa lỗi get_page_by_title và thay thế bằng WP_Query thì cần làm gì.?
  • Sửa lỗi get_page_by_title() trên Theme Flatsome từ 3.16.8 trở xuống
  • Các bước sửa lỗi get_page_by_title trên Flatsome 3.16.8 trở xuống
    • Bước 1: Truy cập vào đường dẫn của tệp tin chứa get_page_by_title lỗi
    • Bước 2: Thay thế tệp tin
    • Bước 3: Tải lại trang và thưởng thức
  • Cài theme Flatsome 3.16.8 đã fix sẵn lỗi get_page_by_title

Lỗi get_page_by_title bị xảy ra khi phiên bản WordPress 6.2.0 họ đã chính thức bỏ hàm get_page_by_title thay vào đó là sử dụng truy vấn WP_Query. Tuy nhiên các theme, plugin chưa kịp update, đặc biệt Flatsome là một theme ‘Thần thánh’ tại Việt Nam và trên thế giới.

Hàm get_page_by_title

Theo mặc định, hàm get_page_by_title() là một hàm trong WordPress có chức năng truy vấn một trang bài viết (page) dựa trên tiêu đề của nó.

Cụ thể, hàm này sẽ tìm kiếm và trả về một đối tượng trang bài viết (page object) có tiêu đề trùng khớp với chuỗi cung cấp. Nếu không tìm thấy trang nào, hàm sẽ trả về null.

Hàm get_page_by_title() thường được sử dụng trong các plugin hoặc theme WordPress khi cần lấy thông tin của một trang bài viết cụ thể dựa trên tiêu đề của nó. Chẳng hạn, nó có thể được sử dụng để hiển thị thông tin của một trang bài viết trên trang chủ hoặc trong các widget.

Tại sao get_page_by_title() bị phản đối (deprecated) trong WordPress

Hàm get_page_by_title() đã bị phản đối (deprecated) trong phiên bản WordPress 5.5 và sẽ bị loại bỏ hoàn toàn trong tương lai. Thay thế cho nó, WordPress khuyên sử dụng WP_Query để truy vấn (query) và lấy thông tin của trang dựa trên tiêu đề.

Nguyên nhân chính là để cải thiện hiệu suất và sử dụng các cách tiếp cận tốt hơn để lấy dữ liệu từ cơ sở dữ liệu. get_page_by_title() có thể tạo ra nhiều truy vấn không cần thiết đến cơ sở dữ liệu, làm giảm hiệu suất của trang web.

Bên cạnh đó, WP_Query cung cấp cho người dùng nhiều tùy chọn truy vấn linh hoạt hơn để lấy dữ liệu bài viết và trang trong WordPress, giúp tối ưu hóa hiệu suất và giảm tải cho cơ sở dữ liệu của trang web.

Do đó, việc loại bỏ get_page_by_title() và khuyến khích sử dụng WP_Query là một phần trong chiến lược của WordPress để tăng cường hiệu suất và cải thiện trải nghiệm người dùng.

Để sửa lỗi get_page_by_title và thay thế bằng WP_Query thì cần làm gì.?

Để sửa lỗi get_page_by_title và thay thế nó bằng WP_Query, bạn có thể thực hiện các bước sau:

  1. Tìm và xác định các đoạn mã sử dụng get_page_by_title trong mã nguồn của trang web của bạn.
  2. Thay thế tất cả các đoạn mã đó bằng cấu trúc truy vấn WP_Query. Điều này bao gồm đặt các tham số truy vấn như loại bài viết, tiêu đề trang và số lượng bài viết trong trang.
  3. Sử dụng phương thức have_posts và the_post để kiểm tra và lấy bài viết trong kết quả truy vấn. Sau đó, bạn có thể sử dụng get_permalink để lấy liên kết của trang đó.
  4. Cuối cùng, đảm bảo rằng bạn sử dụng wp_reset_postdata để đặt lại các biến bài viết của WordPress về trạng thái ban đầu và đảm bảo rằng trang web của bạn hoạt động bình thường.

Lưu ý rằng, trước khi thực hiện bất kỳ thay đổi mã nào, bạn nên sao lưu trang web của mình hoặc làm việc trên môi trường phát triển để đảm bảo rằng không gây ra tác động đến trang web của bạn.

Sửa lỗi get_page_by_title() trên Theme Flatsome từ 3.16.8 trở xuống

Thực ra với chuyên gia thì họ sẽ include để sửa, tuy nhiên đây là cách nhanh nhất để Bạn có thể sửa đúng tiêu chí mì ăn liền, ai cũng làm được. Để sửa lỗi get_page_by_title() trên Theme Flatsome phiên bản 3.16.8 trở xuống bạn cần làm như sau.

  1. Bước 1: Truy cập theo đường dẫn /wp-content/themes/flatsome/inc/helpers/helpers-shortcode.php
  2. Thay thế hàm flatsome_smart_links() có sẵn trong đó bằng hàm mới được RealDev chia sẻ.
  3. (Tùy chọn) Với phiên bản mới nhất đến ngày được viết bài là ngày 04/04/2023 thì bạn tải bản flatsome 3.16.8 fixed để cài đè là được.
  4. Tải lại trang Website và thưởng thức

Các bước sửa lỗi get_page_by_title trên Flatsome 3.16.8 trở xuống

Dưới đây là các bước sửa lỗi get_page_by_title trên Flatsome 3.16.8 trở xuống

Bước 1: Truy cập vào đường dẫn của tệp tin chứa get_page_by_title lỗi

Bạn tiến hành truy cập File Manager trên Hosting/VPS theo đường dẫn: Truy cập theo đường dẫn /public_html/wp-content/themes/flatsome/inc/helpers/helpers-shortcode.php hoặc truy cập trực tiếp trên Admin WordPress ở vị trí: Admin Dashboard / Themes (Giao diện) / Theme File Editor / Flatsome / inc / helpers / helpers-shortcode.php

Hoặc bạn Click vào Button dưới đây để truy cập nhanh đến đường dẫn:

/wp-admin/theme-editor.php?file=inc%2Fhelpers%2Fhelpers-shortcode.php&theme=flatsome

Bước 2: Thay thế tệp tin

Bạn tiến hành sao chép mã PHP trong bài đăng này và thay thế toàn bộ. Click vào nút sao chép phía bên phải, chuyển sang Tab sửa tệp tin helpers-shortcode.php và Ctrl + F để tìm hàm flatsome_smart_links() sau đó bôi đen toàn bộ nội dung của hàm flatsome_smart_links() và Ctrl + V để dán với Windows hoặc Command + F để tìm hàm flatsome_smart_links() sau đó bôi đen toàn bộ nội dung của hàm flatsome_smart_links() và Command + V để dán và thay thế với macOS.

function flatsome_smart_links($link){
  if($link == 'shop' && is_woocommerce_activated()){
    $link = get_permalink( wc_get_page_id( 'shop' ) );
  }
  else if($link == 'cart' && is_woocommerce_activated()) {
    $link = wc_get_cart_url();
  }
  else if($link == 'checkout' && is_woocommerce_activated()) {
    $link = wc_get_checkout_url();
  }
  else if($link == 'account' && is_woocommerce_activated()){
    $link = get_permalink( get_option('woocommerce_myaccount_page_id') );
  }
  else if($link == 'home'){
    $link = get_home_url();
  }
  else if($link == 'blog'){
    $link = get_permalink( get_option( 'page_for_posts' ) );
  }
  else if($link == 'wishlist' && class_exists('YITH_WCWL')){
    $link =  YITH_WCWL()->get_wishlist_url();
  }
  // Get link by page title
  else if(strpos($link, '/') === false && !is_numeric($link)){
    $query = new WP_Query( array(
        'post_type'      => 'page',
        'post_title'     => $link,
        'posts_per_page' => 1
    ) );

    if ( $query->have_posts() ) {
        $query->the_post();
        $link = get_permalink();
        wp_reset_postdata();
    }
  }

  $protocols = wp_allowed_protocols();
  array_push( $protocols, 'sms' );

  return esc_url( $link, $protocols );
}

Bước 3: Tải lại trang và thưởng thức

Đến bước này là bạn đã fix được lỗi get_page_by_title() trên Flatsome phiên bản 3.16.8 trở xuống trên WordPress 6.2.0 rồi. Xin chúc mừng bạn và nếu thấy có ích xin Đánh giá Bài chia sẻ và Comment để khích lệ tác giả.

Cài theme Flatsome 3.16.8 đã fix sẵn lỗi get_page_by_title

Dưới đây là link Download Flatsome 3.16.8 đã fix lỗi sẵn. Lưu ý, đây là phiên bản gốc chưa kích hoạt bản quyền. Chỉ tích hợp vá lỗi get_page_by_title(). Trong trường hợp bạn cần Kích hoạt Bản Quyền Flatsome xin tham khảo Plugin Kích hoạt Bản Quyền Flatsome A-Z Activator được code và chia sẻ bởi RealDev.

  • Download Flatsome 3.16.8 Fixed get_page_by_title

Nguồn: https://www.realdev.vn/tutorials/fix-get_page_by_title-in-wordpress-6-2-0-and-flatsome-theme-3606.html

5/5 - (1 bình chọn)
FlatsomeWordPress 6.2

Tham gia nhóm hỗ trợ WordPress

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay
ĐỖ TRUNG QUÂN

Mình tên là Đỗ Trung Quân, hiện đang công tác tại AZDIGI với vị trí là SysAdmin. Mình đam mê viết Blog. Vì viết Blog giúp mình trau dồi được nhiều kỹ năng. Học hỏi thêm nhiều kiến thức mới, từ đó mình có thể chia sẻ đến các bạn các bài viết tài liệu bổ ích hơn. Hiện tại mình là admin của Blog DOTRUNGQUAN.INFO - CaiSSL.COM - QuantriVPS.COM. Mới đây mình có tạo ra nhóm Hỗ trợ Server - Hosting & WordPress | Hỗ Trợ Xử Lý Mã Độc WordPress với mục đích gây dựng một cộng đồng nhỏ để mọi người trao đổi kinh nghiệm, kiến thức quản trị VPS. Các thủ thuật, mẹo vặt khi sử dụng VPS. Rất mong nhận được sự ủng hộ của các bạn.

BÀI VIẾT LIÊN QUAN

Những tính năng mới trong WordPress 6.2

30/03/2023

Hướng dẫn nâng cấp theme Flatsome lên bản...

31/12/2022

Hướng dẫn kích hoạt Theme Flatsome mới nhất.

05/08/2021
Author Box
Author Image

ĐỖ TRUNG QUÂN

Chuyên viên quản trị hệ thống.

Tư vấn & triển khai dịch vụ

VPS | Hosting | SSL | Mailserver | Website | Sửa lỗi WordPress

Bài viết của tác giả

Hosting/VPS khuyên dùng

Phổ Biến

  • Hướng dẫn tạo SSH Key trên macOS

  • Hướng dẫn sử dụng SSH Key

  • Hướng dẫn cài đặt v2board trên AAPANEL

  • Vấn đề IP Public liên tục bị thay đổi vì sao và cách khắc phục

  • Khắc phục lỗi không hiện hình ảnh và mô tả khi share link lên Facebook

  • Hướng dẫn kích hoạt Theme Flatsome mới nhất.

BẠN BÈ & ĐỐI TÁC

Thạch Phạm | CỔ Ý CONCEPT | Trương Quốc Cường | Đàm Trung Kiên | Web An Tâm | Phong Đinh | Học Mò | PHUNG.VN | Đăng Đạt

Bạn được quyền sao chép lại nội dung trên website Đỗ Trung Quân, miễn là có dẫn nguồn.

Hosting/VPS được tài trợ bởi AZDIGI - Nhà cung cấp Server Hosting tốt nhất hiện nay

AZDIGI - Nhà cung cấp Server Hosting tốt nhất hiện nay


Back To Top
Đỗ Trung Quân
  • HƯỚNG DẪN
  • LINUX
    • Linux Tricks
    • Distro Linux
      • CentOS/RedHat
      • CloudLinux
      • Ubuntu/Debian
      • AlmaLinux
    • WebServer
      • NGINX
      • Apache
      • LiteSpeed
    • Virtualization
    • Monitoring Tool
      • Zabbix
    • DevOPS
      • Ansible
      • Docker
      • Jenkins
      • AWS
    • Mail Server
    • VPN
  • CONTROL PANEL
    • cPanel
    • DirectAdmin
    • aaPanel
    • FastPanel
    • CyberPanel
    • Easypanel
    • VestaCP
    • CloudPanel
    • HestiaCP
    • Plesk
    • Script VPS
  • DNS
    • Domain
  • CMS
    • WordPress
    • Laravel
  • SECURITY
    • SSL
    • Firewall
  • DỊCH VỤHOT
  • WEB MẪUHOT