Tiếp nối bài viết liên quan tới plugin Yet Another Related Posts (Yarpp), Websitequangngai sẽ hướng dẫn các bạn tạo bài viết liên quan cho portfolio với plugin Yarpp.

Đa phần các bạn điều đã biết đến và sử dụng plugin này để tạo bài viết liên quan nhằm thu hút người đọc. Nhưng có một chức năng mà nhiều bạn không biết đến đó là Yarpp có thể tạo bài viết liên quan cho cả  trang Portfolio.

Nguyên nhân là do plugin Yarpp có hỗ trợ chức năng này nhưng vì Portfolio là do nhà phát triển khác tạo ra. Chứ hoàn toàn không phải do Yarpp viết nên, và nó cũng chỉ xuất hiện ở một số theme nhất định, và do nhà phát hành theme đưa vào. Các theme hay sử dụng Portfilio đó là các website về giới thiệu sản phẩm nội thất, hàng tiêu dùng và dịch vụ…

Hãy xem ví dụ về Portfilio ở bài viết sau: Màng dùng cho máy cán màng nhiệt khổ 32 cm . Đây là một loại custom post ( bài viết tùy chỉnh). Nếu như mặc định thì bạn sẽ không có phần giới thiệu các sản phẩm liên quan ở bên dưới (Mục có thể bạn quan tâm) .

custom post Portfolio
Hiển thị bài viết liên quan cho custom post Portfolio

Để có thể làm được việc này thì trước tiên là ta cần cài đặt Yarpp cho website.

[button link=”https://wordpress.org/plugins/yet-another-related-posts-plugin/” target=”_blank” color=”red” shape=”rounded” size=”small” align=”right”]TẢI YARPP[/button]

Bây giờ hãy xem phần tùy chỉnh của plugin: Vào trang Dashboard (trang quản trị wp) => Settings (Cài Đặt) =>> Yarpp để xem mục này có gì nhé. Ở mục Display oprions for your website bạn chỉ thấy: Plugin này chỉ hỗ trợ cho 3 loại nội dung của website đó là Posts (bài viết), Pages (Trang) và Media (hình ảnh, video…). Đương nhiên là không có hỗ trợ cho Portfolio vì nó chưa được bật lên.

settings Yarpp
Cài đặt tùy chỉnh hiển thị bài viết liên quan của plugin Yarpp

Để thực hiện bật chức năng hỗ trợ bài viết liên quan cho Portfolio thì bạn cần phải bật chức năng Yarpp Support lên bằng đoạn mã sau: ‘yarpp_support’ => true .

Đăng ký tư vấn thiết kế và phát triển website qua số: Hotline: 0702 4400 74 hoặc Email: pvonlinevn@gmail.com

Cách thực hiện thì chung cho tất cả các theme hỗ trợ Portfolio nhưng có điều, file để bạn thêm đoạn mã này có đôi lúc khác nhau. Nhưng nó đều được thêm vào function: portfolio_register . Việc của ta là tìm ra file chứ function đó để thêm vào. Vì đường dẫn file này khá đa dạng cho nên mình sẽ đưa ra hai ví dụ và sau đó bạn tự tìm file chứa function portfolio_register ở trong theme của bạn nhé.

Lưu ý, để tìm kiếm function Cách tìm kiếm function: “portfolio_register” thì bạn nên thực hiện trên máy tính cá nhân và thực hiện trên localhost trước khi up lên host của website nhé. Bạn cần mở các file .php ( bằng Dreamweaver, notepad++…) trong thư mục chứ theme lên và bấm tổ hợp phím Ctrl + F và điền cụm từ function portfolio_register rồi nhấn Find next để tìm.

Cách tìm kiếm function portfolio_register
Cách tìm kiếm function portfolio_register
  • Ví dụ đầu tiên: Mình đã tìm thấy file function trong file: custom-posts.php vị trí nó trong theme là: tên_thư_mục_chứa_theme/functions/custom-posts.php
custom-post
File custom-post có chứa function portfolio_register

Đoạn code gốc của function này là:

[php]function portfolio_register() {
$args = array(
‘label’ => __(‘Portfolio’, ‘bellissima’),
‘singular_label’ => __(‘Portfolio’, ‘bellissima’),
‘public’ => true,
‘show_ui’ => true,
‘capability_type’ => ‘post’,
‘hierarchical’ => false,
‘rewrite’ => true,
‘supports’ => array(‘title’, ‘editor’, ‘thumbnail’)
);

register_taxonomy("galleries", array("portfolio"), array(
"hierarchical" => true,
"label" => __("Galleries", ‘bellissima’),
"singular_label" => __("Galleries", ‘bellissima’),
"rewrite" => true)
);

register_post_type( ‘portfolio’ , $args );
}
[/php]

Bây giờ, ta cần thêm đoạn code sau : ‘yarpp_support’ => true vào trong phần array(…) nhé. Ta sẽ thêm nó vào cuối và thêm dấu phẩy “,” ở đoạn code trước nó nhé. Sau đó lưu file đã chỉnh sửa lại.

[php]function portfolio_register() {
$args = array(
‘label’ => __(‘Portfolio’, ‘bellissima’),
‘singular_label’ => __(‘Portfolio’, ‘bellissima’),
‘public’ => true,
‘show_ui’ => true,
‘capability_type’ => ‘post’,
‘hierarchical’ => false,
‘rewrite’ => true,
‘supports’ => array(‘title’, ‘editor’, ‘thumbnail’),
‘yarpp_support’ => true
);

register_taxonomy("galleries", array("portfolio"), array(
"hierarchical" => true,
"label" => __("Galleries", ‘bellissima’),
"singular_label" => __("Galleries", ‘bellissima’),
"rewrite" => true)
);

register_post_type( ‘portfolio’ , $args );
}
[/php]

  • Tương tự cho ví dụ thứ hai: ta cũng tìm trong các file .php cụm từ function portfolio_register . Và tôi đã tìm thấy nó trong file post-types.php. Vị trí nó trong theme là: tên_thư_mục_chứa_theme/library/functions/post-types.php
post-types
File post-types.php có chứa function: portfolio_register

Đoạn code gốc bên trong function: portfolio_register() :

[php]

function portfolio_register() {

register_post_type( ‘portfolio’ ,
array(
‘label’ => ‘Portfolio’,
‘singular_label’ => ‘Portfolio’,
‘exclude_from_search’ => false,
‘publicly_queryable’ => true,
//’rewrite’ => array(‘with_front’ => false, ‘slug’=>’courses’),
‘menu_position’ => null,
‘show_ui’ => true,
‘query_var’ => true,
‘capability_type’ => ‘page’,
‘hierarchical’ => false,
‘edit_item’ => __( ‘Edit Work’, ‘unik’),
‘supports’ => array(‘title’, ‘editor’, ‘thumbnail’, ‘excerpt’, ‘custom-fields’, ‘comments’, ‘revisions’)
)

);

register_taxonomy( ‘portfolio_category’,
‘portfolio’,
array( ‘hierarchical’ => true,
‘label’ => __(‘Categories’, ‘unik’),
‘singular_label’ => __(‘Category’, ‘unik’),
‘public’ => true,
‘show_tagcloud’ => false,
‘query_var’ => ‘true’,
‘rewrite’ => array(‘slug’ => ‘portfolio_category’ , ‘with_front’ => false)
)
);
[/php]

Ta cũng sẽ thêm đoạn code : ‘yarpp_support’ => true trong phần array(…) nhé. Nhớ là cần thêm nó vào cuối và thêm dấu phẩy “,” ở đoạn code trước nó nhé. Sau đó lưu file đã chỉnh sửa lại.

[php]

function portfolio_register() {

register_post_type( ‘portfolio’ ,
array(
‘label’ => ‘Portfolio’,
‘singular_label’ => ‘Portfolio’,
‘exclude_from_search’ => false,
‘publicly_queryable’ => true,
//’rewrite’ => array(‘with_front’ => false, ‘slug’=>’courses’),
‘menu_position’ => null,
‘show_ui’ => true,
‘query_var’ => true,
‘capability_type’ => ‘page’,
‘hierarchical’ => false,
‘edit_item’ => __( ‘Edit Work’, ‘unik’),
‘supports’ => array(‘title’, ‘editor’, ‘thumbnail’, ‘excerpt’, ‘custom-fields’, ‘comments’, ‘revisions’),
‘yarpp_support’ => true
)

);

register_taxonomy( ‘portfolio_category’,
‘portfolio’,
array( ‘hierarchical’ => true,
‘label’ => __(‘Categories’, ‘unik’),
‘singular_label’ => __(‘Category’, ‘unik’),
‘public’ => true,
‘show_tagcloud’ => false,
‘query_var’ => ‘true’,
‘rewrite’ => array(‘slug’ => ‘portfolio_category’ , ‘with_front’ => false)
)
);[/php]

Bây giờ bạn vào phần tùy chỉnh của plugin Yarpp và xem đã có mục hỗ trợ custom post Portfolio chưa nhé. Nếu có thì bạn có thể sử dụng nó để hiển thị bài viết liên quan theo dạng list hoặc có ảnh đại diện rồi đó.

portfolio-with-yarpp
Thêm bài viết liên quan cho Portfolio

Qua đây mình có một kinh nghiệm rút ra cho các bạn trong việc tìm function : portfolio_register() đó là function này hay đặt ở thư mục library, function của theme chứ không mấy khi xuất hiện ở thư mục gốc của theme ( ngang hàng với file style.css).

Chú ý: Websitequangngai.com - Cung cấp các giải pháp Marketing Online trọn gói dành cho khách hàng. Gửi thông tin đăng ký qua Email:Pvonlinevn@gmail.com Hoặc qua số Hotline: 036 456 3270