Tìm hiểu Hệ quản trị nội dung WordPress

Bài này là phần 14/14 trong series WordPress cơ bản

Một số người nghĩ rằng WordPress chỉ là một nền tảng dùng để viết blog. Vì vậy khi muốn xây dựng một website với nhiều tính năng mở rộng, họ thường cho rằng WordPress không phải là giải pháp hàng đầu. Tuy nhiên đã đến lúc họ nên suy nghĩ lại. Vì WordPress không chỉ là một nền tảng dùng để viết blog mà nó còn là một hệ quản trị nội dung mạnh mẽ. Nó có thể giúp bạn dễ dàng tạo ra nhiều loại website khác nhau tùy theo nhu cầu sử dụng của mình.

Hệ quản trị nội dung (CMS – Content Management System) là một hệ thống dùng để tạo ra và duy trì toàn bộ trang web của bạn. Nó bao gồm các công cụ dùng để xuất bản, chỉnh sửa cũng như tìm kiếm và truy xuất thông tin, nội dung. Hệ quản trị nội dung giúp bạn tạo và quản lý nội dung trên trang của mình dù bạn biết một chút hay không biết gì cả về HTML. Bạn có thể tạo, chỉnh sửa, truy xuất, cập nhật nội dung mà không cần phải dùng code để thực hiện các thao tác đó.

Trong bài viết này chúng ta cùng tìm hiểu các cách dùng nền tảng WordPress mở rộng các tính năng cho website của bạn.

Sử dụng Template (khuôn mẫu) tạo các chế độ xem trang khác nhau trong Hệ quản trị nội dung WordPress

Nội dung trang tĩnh sẽ không xuất hiện trong trang blog, nhưng nó là một trang riêng biệt trên website của bạn. Trên trang web của bạn có thể có nhiều trang tĩnh và mỗi trang có thể được thiết kế khác nhau tùy thuộc vào khuôn mẫu mà bạn tạo ra.

Bạn có thể tạo một số mẫu trang tĩnh sau đó gán chúng cho các trang cụ thể trên website bằng cách thêm mã vào đầu các khuôn mẫu của trang tĩnh.

Quá trình sử dụng khuôn mẫu trải qua 02 bước: Tải khuôn mẫu lên và nói cho WordPress sử dụng khuôn mẫu để tinh chỉnh mã trang.

Tải lên một khuôn mẫu

Để dùng một khuôn mẫu trang, bạn phải tạo nó. Bạn có thể tạo nó bằng cách sử dụng các chương trình chỉnh sửa văn bản như Notepad. Để tạo một trang Liên hệ, bạn có thể lưu khuôn mẫu với tên about.php.

Sau khi bạn đã tạo khuôn mẫu của mình, hãy làm theo các bước sau để khai báo với WordPress

1. Tải tập tin khuôn mẫu lên thư mục /wp-content/themes của WordPress

2. Đăng nhập vào khu vực quản trị WordPress sau đó nhấp vào liên kết Appearance » Editor.

3. Nhấp vào liên kết của khuôn mẫu about.php nằm phía bên phải của trang.

4. Nhập thẻ Template Name ở phía trên thẻ khuôn mẫu get_header(). Nó có dạng như bên dưới:

<?php
/* Template Name: About
*/
get_header();
?>

5. Nhấp vào nút Update File để lưu lại.

Gán khuôn mẫu vào một trang tĩnh

Sau khi bạn đã tạo được một template và đặt tên theo ý muốn của mình, hãy gán template đó vào một trang theo các bước dưới đây:

1. Nhấp vào liên kết Pages » Add New 

Trang Add New Page sẽ hiện ra, cho phép bạn tạo một trang mới cho WordPress Site.

2. Nhập tiêu đề và nội dung cho trang.

3. Chọn khuôn mẫu trang từ trình đơn Template xổ xuống.

Theo mặc định, trình đơn xổ xuống Template xuất hiện phía bên phải của trang. Nhưng bạn có thể sắp xếp lại vị trí các module trên trang này.

4. Nhấp vào nút Publish để lưu và xuất bản trang lên website của bạn.

Tạo khuôn mẫu cho các Chuyên mục bài viết trong Hệ quản trị nội dung WordPress

Bạn không chỉ có thể tạo ra các khuôn mẫu trang tĩnh cho website của mình mà bạn còn có thể sử dụng các khuôn mẫu cho các chuyên mục trên WordPress Site.

Bạn có thể tạo các khuôn mẫu cho tất cả các chuyên mục trên trang của mình bằng cách tạo các tập tin khuôn mẫu với tên tập tin tương ứng với slug (chuỗi của đường dẫn tĩnh) của chuyên mục, sau đó upload các khuôn mẫu này vào thư mục WordPress themes bằng SFPT.

Dưới đây là các thông tin cần thiết trong việc tạo khuôn mẫu cho chuyên mục:

  • Một khuôn mẫu có tên category.php hiển thị tất cả các chuyên mục.
  • Thêm dấu gạch ngang và slug của danh mục vào phía cuối tên của tập tin.
  • Nếu bạn không có tập tin category.php hoặc category-slug.php, thì chuyên mục hiển thị được định nghĩa từ khuôn mẫu Main Index (index.php).

WordPress có thể giúp bạn  lấy các nội dung cụ thể trên trang web của mình thông qua việc sử dụng lớp WP_Query. Nếu bạn include WP_Query trước The Loop, WordPress cho phép bạn chỉ định chuyên mục mà bạn muốn lấy thông tin. Nếu bạn có một chuyên mục WordPress và muốn hiển thị 03 bài viết mới nhất từ chuyên mục này lên trang chủ, trên thanh bên, hay bất cứ vị trí nào trên website của mình, bạn có thể sử dụng thẻ khuôn mẫu này.

Lớp WP_Query chấp nhận các tham số khác nhau cho phép bạn hiển thị các kiểu nội dung khác nhau ví dụ như bài viết từ một chuyên mục hay nội dung từ một trang cụ thể nào đó. Lớp WP_Query có rất nhiều tham số, nếu bạn muốn tìm hiểu cụ thể hơn về các tham số đó bạn có thể truy cập vào WordPress Codex để tìm hiểu về các tuỳ chọn sẵn có của thẻ này tại đây.

Dưới đây là hai tham số mà bạn có thể sử dụng với WP_Query:

  • posts_per_page=X: Tham số này nói cho WordPress biết số lượng bài viết mà bạn muốn hiển thị. Nếu bạn muốn hiển thị 03 bài viết, hãy thay X bằng 3.
  • category_name=slug: Tham số này nói với WordPress biết bạn muốn lấy bài viết từ chuyên mục nào với một slug cụ thể. Nếu bạn muốn hiển thị bài viết trong chuyên mục WordPress bạn hãy thay slug=wordpress. (category_name=wordpress).

Hãy làm theo các bước dưới đây để sử dụng WP_Query lọc bài viết từ chuyên mục:

1. Nhấp vào liên kết Editor trong menu Appearance của Dashboard

Màn hình Edit Themes sẽ hiện ra.

2. Nhấp vào template mà bạn muốn hiển thị nội dung.

Ví dụ: Nếu bạn muốn hiển thị nội dung trên sidebar hãy chọn template sidebar.php.

3. Tìm đến thẻ đóng </aside> ở phía dưới template mà bạn đang dùng.

Trong theme Twenty Sixteen, thẻ </aside> nằm ở dòng cuối cùng.

4. Nhập hoặc copy và paste đoạn code bên dưới vào phía trên thẻ </aside>:

<section id=”query” class=”widget widget_meta”><h2 class=”widget-title”>Category Posts</h2><?php $query = new WP_Query(arry(‘category_name’=>’wordpress’)); ?><?php while($query->have_posts()): $query->the_post(); ?><ul><li><strong><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Pernament Link to<? the_title_attribute(); ?>”><?php the_title(); ?></a></strong><br/>

Trong các phiên bản trước của WordPress, bạn dùng thẻ query_posts(); để lấy nội dung từ một chuyên mục cụ thể nào đó, nhưng sử dụng lớp WP_Query thì hiệu quả hơn. Mặc dù thẻ query_posts(); cũng cho ra cùng một kết quả nhưng nó làm tăng số truy vấn đến cơ sở dữ liệu do đó làm ảnh hưởng đến tài nguyên máy chủ. Vì vậy hạn chế sử dụng thẻ query_posts();

Dùng template Sidebar trong Hệ quản trị nội dung WordPress

Bạn có thể tạo các khuôn mẫu sidebar khác nhau cho các trang khác nhau trên website của mình bằng cách sử dụng một mệnh đề include. Khi bạn sử dụng lệnh include, bạn chỉ cần nói với WordPress rằng bạn muốn include một tập tin cụ thể trên một trang cụ thể nào đó.

Code dùng để kéo template sidebar (sidebar.php) vào tất cả các template khác, ví dụ như template Main Index (index.php) giống như bên dưới:

<?php get_sidebar(); ?>

Nếu bạn muốn tạo một trang mới có thông tin của sidebar khác với những gì có trong template sidebar (sidebar.php). Bạn hãy thực hiện theo các bước sau:

1. Sử dụng Notepad (trên Windows) hoặc TextEditor (trên Mac) để tạo một tempate sidebar mới.

2. Lưu tập tin lại với tên là sidebar2.php.

3. Upload tập tin sidebar2.php vào thư mục cài đặt WordPress Themes mà bạn đang dùng.

4. Để include template sidebar2.php vào một trong các templates page của bạn, thay đoạn code <?php get_sidebar(); /> bằng đoạn code bên dưới:

<?php get_template_part(‘sidebar2’); ?>

Đoạn code trên gọi template bạn đã tạo trong theme của mình.

Bằng cách sử dụng hàm get_template_part bạn có thể include tất cả các tập tin trong bất kỳ WordPress template nào của mình. Ví dụ: Bạn có thể sử dụng phương pháp này để tạo template footer cho các trang trên website của mình. Đầu tiên, bạn tạo ra một template mới có tên footer2.php. Sau đó tìm đến đoạn mã bên dưới trong template của mình.

<?php get_footer(); ?>

và thay thế bằng dòng code:

<?php get_template_part(‘footer2’); ?>

Tạo kiểu tuỳ biến cho Sticky, Category và Tag

Trong các bài viết trước, bạn đã biết cách để kết hợp các phần cơ bản của WordPress theme lại với nhau. Bạn cũng có thể sử dụng các thẻ tuỳ chỉnh để hiển thị sticky post, các chuyên mục, các thẻ trên trang web của mình. Các thẻ đặc biệt đó giống như bên dưới:

<div <?php post_class() ?> id=”post-<?php the_ID(); ?>”>

post_class() là phần thú vị nhất của khuôn mẫu. Thẻ khuôn mẫu này nói với WordPress chèn đánh dấu HTML cụ thể vào khuôn mẫu của bạn, cho phép bạn sử dụng CSS để tạo kiểu tuỳ chỉnh cho sticky post, category và tag.

Trong bài viết Quy trình xuất bản nội dung trên blog WordPress của bạn tôi đã trình bày tất cả các thủ thuật, nội dung dùng để xuất bản bài viết trên trang của bạn. Nó bao gồm tất cả các tuỳ chọn mà bạn có thể dùng để thiết lập cho bài viết của mình như Chuyên mục, thẻ… Một trong số các cài đặt đó là Stick This Post to the Front Page dùng để giữ cho một bài viết luôn nằm trên các bài viết khác. Trong bài viết này tôi sẽ chỉ cho bạn cách tuỳ chỉnh kiểu cho sticky post.

Giả sử bạn xuất bản một bài viết với các tuỳ chọn được cài đặt như sau:

  • Ghim bài viết vào đầu danh sách bài viết trên trang chủ
  • Phân loại nó vào chuyên mục WordPress
  • Gắn thẻ News cho nó.

Khi thẻ post_class() nằm trong template, WordPress chèn đánh dấu HTML cho phép bạn sử dụng CSS định dạng kiểu cho Sticky Post (Bài viết được ghim vào đầu danh sách các bài viết trên trang chủ) khác với các bài viết còn lại.

WordPress chèn đánh dấu HTML như bên dưới cho bài viết của bạn:

<div class=”post sticky category-wordpress tag-news”> 

Trong bài viết trước bạn đã tìm hiểu cơ bản về vùng chọn CSS và HTML cũng như cách sử dụng chúng để định dạng kiểu cho WordPress Theme.

Với thẻ post_class() bạn có thể mở tập tin CSS của mình và định dạng kiểu cho các bộ chọn bên dưới:

.post: Sử dụng thẻ này để định dạng kiểu cho tất cả các bài viết trên website của bạn. Mã CSS cho thẻ này như sau:

.post {background: #ffffff; border: 1px solid silver; padding: 10px;} 

Kiểu được tạo ra cho bài viết là nền trắng với viền nhỏ có màu bạc, khoảng cách giữa viền và nội dung là 10px.

.sticky: Bạn ghim một bài viết lên đầu danh sách các bài viết trên trang chủ để thu hút sự chú ý đến bài viết đó. Vì thế bạn sẽ muốn nó nổi bật hơn các bài viết khác. Bạn có thể áp dụng đoạn mã CSS bên dưới cho Sticky Post của mình:

.post {background: #ffffff; border: 4px solid red; padding: 10px;} 

Đoạn code trên tạo kiểu cho Sticky Post của bạn với nền trắng, viền 4px màu đỏ, khoảng cách giữa viền và nội dung là 10px.

.category-wordpress: Bởi tôi vì viết rất nhiều bài viết về WordPress nên độc giả của tôi có thể sẽ đánh giá cao nếu tôi cung cấp cho họ một gợi ý trực quan về những bài viết trên blog của tôi về chủ đề đó. Tôi có thể làm điều đó bằng cách sử dụng CSS yêu cầu WordPress hiển thị một biểu tượng WordPress nhỏ ở phía trên cùng bên phải của tất cả các bài viết trong chuyên mục WordPress.

.category-wordpress {
background: url(wordpress-icon.jpg) top right no-repeat;
height: 100px; width: 100px;
}
 

Đoạn code này chèn một hình ảnh có tên là wordpress-icon.jpg có kích thước 100x100px vào phía trên bên phải đối với các bài viết được phân loại vào chuyên mục WordPress.

.tag-news: Tôi cũng có thể dễ dàng tạo kiểu cho tất cả các bài viết được gắn thẻ News như cách mà tôi đã thực hiện đối với chuyên mục WordPress.

.tag-news {
background: #f2f2f2;
border: 1px solid black;
padding: 10px;
}
 

Đoạn code này tạo kiểu cho tất cả các bài viết được gán thẻ News với nền màu xám nhạt và viền màu đen, khoảng cách giữa viền và nội dung là 10px.

Bạn có thể dễ dàng dùng thẻ  post-class()  cùng với CSS để tạo kiểu cho bài viết trên website của mình.

Làm việc với  Custom Post Types

Custom Post Types là một tính năng tuyệt vời của WordPress. Tính năng này cho phép bạn tạo ra các kiểu nội dung cho trang web WordPress của mình. Nó mang đến cho bạn nhiều sự sáng tạo hơn để kiểm soát các loại nội dung khác nhau được nhập, xuất bản và cách nó hiển thị trên website của bạn.

Theo ý kiến cá nhân tôi nghĩ WordPress nên gọi tính năng này là Custom Content Types (Các loại nội dung tùy chỉnh). Bởi vì mọi người sẽ hiểm nhầm là Custom Post Types chỉ dành riêng cho Post (bài viết). Chúng ta nên hiểu rằng tên gọi Custom Post Types không phải là các bài viết mà bạn biết trên blog của mình. Custom Post Types là cách quản lý nội dung trên blog của bạn bằng cách định nghĩa kiểu của nội dung và cách nó hiển thị trên website của bạn và cách nó hoạt động. Nhưng Custom Post Type không nhất thiết phải là bài viết.

Theo mặc định, WordPress cung cấp các loại post types được tích hợp sẵn để bạn có thể sử dụng ngay. Các loại post types này gồm có:

  • Bài viết trên blog
  • Trang
  • Menu điều hướng
  • Attachments
  • Revision

Custom Post Types cho phép bạn tạo ra các loại nội dung mới và hữu ích cho trang web của mình. Với Custom Post Types bạn có thể thoả mái sáng tạo các loại nội dụng mới.

Dưới đây là các loại nội dung phổ biến và hữu ích mà mọi người đã triển khai trên trang web của mình:

  • Photo Gallary
  • Poscads hoặc Video
  • Đánh giá sách
  • Mã giảm giá
  • Sự kiện…

Để tạo và sử dụng Custom Post Types trên trang web của mình, bạn cần phải chắc chắn rằng WordPress Theme của mình có chứa các chức năng và code phù hợp. Hãy làm theo các bước sau để tạo ra một Custom Post Types căn bản có tên là Generic Content:

1. Nhấp vào liên kết Appearance » Editor để mở cửa sổ Theme Editor.

2. Nhấp vào template Theme Functions để mở tập tin functions.php trong cửa sổ Text Editor bên trái của trang.

3. Thêm đoạn code Custom Post Types bên dưới vào cuối tập tin Theme Functions

Cuộn xuống cuối tập tin functions.php và thêm đoạn code bên dưới để thêm Content Custom Post Types vào trang web của bạn:

add_action( ‘init’, ‘create_my_post_types’ );
function create_my_post_types() {
register_post_type( ‘generic_content’, array(
‘label’ => __( ‘Generic Content’ ),
‘singular_label’ => __( ‘Generic Content’ ),
‘description’ => __( ‘Description of the Generic Content type’ ),
‘public’ => true,
)
);
}

4. Nhấp nút Update File để lưu các thay đổi trong tập tin functions.php.

Bạn có thể sử dụng các tham số ở bảng bên dưới để áp dụng cho hàm register_post_type. Bạn có thể kết hợp các tham số để tạo các kiểu bài viết cụ thể theo nhu cầu của mình.

Bạn có thể tìm hiểu thêm các thông tin về Custom Post Types và sử dụng chức năng register_post_type tại trang web chính thức của WordPress Codex tại địa chỉ: https://codex.wordpress.org/Function_Reference/register_post_type.

Tham sốThông tinMặc địnhVí dụ
labelTên của kiểu bài viếtNone‘label’ =>–(‘Generic Conten’),
singular_labelTương tự như Label nhưng số ít. Nếu nhãn của bạn là Movies, số ít của nhãn sẽ là Movies.None‘singular_label’ =>__(‘Generic Content’),
descriptionMô tả kiểu của kiểu nội dung, được hiển thị trong Dashboard để thể hiện kiểu bài viếtNone ‘description’ =>

__(‘Đây là mô tả

của kiểu Generic 

Content’)

public

Cài đặt kiểu nội dung có phải là công khai hay không.

Có 03 tham số khác nhau:

show_ui: Có hiển thị màn hình quản trị hay không

publicly_queryable: Có cho phép truy vấn kiểu nội dung này từ giao diện người dùng hay không.

exclude_from_search: Có cho phép hiển thị kiểu nội dung trong kết quả tìm kiếm hay không.

true hoặc false

 

‘public’ => true,

 

 

show_ui’ => true,

 

‘publicly_queryable’

=> true,

 

‘exclude_from_search’

=>false,

menu_positionThiết lập vị trí cho kiểu nội dung menu trong menu điều hướng của Dashboard.

Theo mặc định nó xuất hiện sau menu Comments trong Dashboard.

Giá trị là số nguyên bộ của 5 (5, 10, 15, 20…)

Mặc định: null

 

‘menu_position’

=> 25,

menu_iconThiết lập biểu tượng cho kiểu nội dung trên thanh menu điều hướng của Dashboard

Tạo và upload hình ảnh vào thư mục image trong thư mục cài đặt theme của bạn

Posts icon ‘menu_icon’ =>

get_stylesheet

_directory_uri()’/images/

genericcontent.png’,

hierarchical

Nói cho WordPress biết có hiển thị danh sách nội dung bài viết theo cách phân cấp hay khôngtrue hoặc false

Mặc định là false

‘hierarchical’=>true,
query_varKiểm soát xem liệu kiểu nội dung này có sử dụng biến truy vấn như  query_posts hoặc WP_Query hay khôngtrue hoặc false

Mặc định là true

‘query_var’ => true,
capability_type

Cho phép người dùng tạo mới, chỉnh sửa hoặc đọc Custom Post TypeMặc định là post ‘query_var’ => post,
supports

Xác định loại meta box, module nào có sẵn cho post type trong Dashboard.title: Hộp văn bản chứa tiêu đề bài viết

editor: Hộp văn bản chứa nội dung bài viết

comments: Hộp kiểm để bật/tắt tính năng bình luận.

trackbacks: Hộp kiểm dùng để bật/tắt trackbacks và pingbacks.

revisions: Cho phép tạo ra nhật ký soạn thảo cho bài viết.

author: Menu xổ xuống cho phép chọn tác giả của bài viết.

excerpt: Hộp văn bản dành cho trích dẫn của bài viết.

thumbnail: Ảnh thu nhỏ của bài viết.

custom-fields: Khu vực nhập Custom Field.

page-attributes: Menu xổ xuống của trang cha và khuôn mẫu trang.

post-formats: Thêm Post Formats

‘supports’ => array(‘title’,

‘editor’,‘excerpt’,

customfields’,

‘thumbnail’),

rewriteViết lại cấu trúc liên kết tĩnh cho kiểu nội dung.true hoặc false

Mặc định là true đối với kiểu nội dung là slug

Hai tham số có sẵn là:

slug: Đường dẫn của liên kết tĩnh dùng cho Custom Post Type của bạn.

with_front: Nếu bạn thiết lập cấu trúc liên kết tĩnh của mình với một tiền tố như /blog.

‘rewrite’ => array

(‘slug’ =>’my-content’,
‘with_front’=> false ),

taxonomies

Sử dụng các  taxonomies  có sẵn trong WordPress như Category và Tag.
Category

post_tag

‘taxonomies’ =>

array(‘post_tag’,

‘category’),

Sau khi thêm  Generic Content Custom Post Types  vào trang web của mình, một post type mới có tên là Generic sẽ xuất hiện trên menu điều hướng phía bên trái của Dashboard.

Có 02 plugin rất hữu ích giúp cho việc tạo Custom Post Types trong WordPress một cách nhanh chóng là:

  • Custom Post Type UI: Được viết bởi đội ngũ  WebDevStudios, plugin này cung cấp cho bạn một giao diện gọn gàng và dễ thao tác trong Dashboard có thể giúp bạn tạo Custom Post Type một cách đơn giản và nhanh chóng. Nó cung cấp cho bạn các tùy chọn và cài đặt để bạn có thể xây dựng Custom Post Type mà không cần phải thêm mã vào tập tin functions.php
  • Betta Boxes CMS: Có sẵn trên trang plugin của WordPress (https://wordpress.org/plugins/betta-boxes-cms/). Plugin này cung cấp một giao diện trong Dashboard để bạn có thể sử dụng tạo meta box, hoặc Custom Field đặc biệt cho Custom Post Type của mình.

Bạn thêm và xuất bản nội dung mới bằng cách sử dụng Custom Post Types giống như khi bạn viết và xuất bản các bài viết trên blog của mình.

Khi nhìn permalink của Custom Post Type, bạn sẽ thấy nó thêm tên của post type vào cấu trúc permalink. Peramlink sẽ có dạng: http://yourdomain.com/genericcontent/new-article.

Để thêm Custom Post Types vào các tùy chọn Menus trên trang Menus để có thể truy cập từ Dashboard, nhấp vào thẻ Screen Options ở phía góc phải phía trên của màn hình. Chọn hộp kiểm bên cạnh Post Types để kích hoạt Custom Post Types của bạn trong menus bạn tạo. (Post Types chỉ xuất hiện trong Screen Options nếu bạn đã kích hoạt Custom Post Types trong WordPress Theme của mình).

Theo mặc định, một Custom Post Types sẽ sử dụng template single.php trong theme trừ khi bạn tạo một template riêng cho nó. Bạn có thể thấy template single.php của WordPress thường giới hạn đối với kiểu nội dung của bạn, tùy nội dung mà bạn muốn đưa vào và bạn có muốn áp dụng các định dạng kiểu khác nhau với HTML và CSS hay không.

Ở phần đầu của bài viết, tôi có chia sẽ code dùng để tạo nội dung tùy chỉnh  Generic Content. Sau khi bạn thêm đoạn code này,  Generic Content sẽ xuất hiện trên WordPress Dashboard. 

Nhấp vào liên kết  Generic Content » Add New sau đó xuất bản một bài viết mới để kiểm tra thử.

Generic Content

Thêm một Generic Content với tiêu đề là Kiểm tra, slug là kiem-tra để xem thử. Bởi vì kiểu nội dung Generic Content không có một template riêng nên nó sử dụng template single.php. Và kết quả là bài viết kiểu Generic Content không khác gì so với các bài viết bình thường khác.

Nếu xuất hiện thông báo Page Not Found khi bạn cố truy cập vào một bài viết Custom Post Types mới, hãy reset lại các thiết lập permalink của bạn. Bạn vào Settings » Permalinks trong WordPress Dashboard sau đó nhấp vào nút Save Changes. Thao tác này sẽ ép WordPress reset permalinks cho trang của bạn và thêm định dạng permalink mới cho Custom Post Types

Để tạo template riêng cho Generic Custom Post Types, hãy thêm một template single-posttype.php (posttype là đối số được gửi đến hàm register_post_type). Trong ví dụ này tập tin template dành riêng cho kiểu nội dung Generic Content là single-generic-content.php. Bất kỳ thay đổi nào trong template này cũng chỉ được áp dụng cho các bài đăng kiểu nội dung Generic Content mà thôi.

Thêm hỗ trợ cho Post Formats

Post Formats là một tính năng trong theme được giới thiệu ở phiên bản WordPress 3.1. Post Format là một phần thông tin meta được sử dụng bởi WordPress Theme để tùy chỉnh cách trình bày của một bài viết. Tính năng Post Formats cung cấp danh sách các định dạng chuẩn cho tất cả các WordPress Theme hỗ trợ tính năng này. Với một WordPress Theme hỗ trợ Post Format, một blogger có thể thay đổi cách mỗi bài viết sẽ trông như thế nào bằng cách chọn Post Formats từ danh sách các nút radio.

Các kiểu Post Formats trong WordPress là:

  • Standard: Bài viết được hiển thị theo cách mặc định, dưới dạng bài viết thông thường không áp dụng các định dạng đặc biệt.
  • Aside: Một bài viết ngắn (nhưng không đầy đủ) để chia sẻ một ý tưởng ngẫu nhiên. Thường thì, một Aside được chia sẽ không có tiêu đề hoặc chuyên mục/thẻ cụ thể.
  • Chat: Đây là bản sao của một cuộc trò chuyện trực tuyến có thể được định dạng trở nên giống một cửa sổ tán gẫu (hoặc tin nhắn trò chuyện).
  • Gallery: Một bộ sưu tập hình ảnh, có thể xem ảnh lớn hơn bằng cách nhấp chuột vào. Thường thì kiểu Post Formats này không chứa văn bản và chỉ hiển thị một thư viện ảnh (ảnh có thể chứa tiêu đề).
  • Image: Một bài viết chỉ với một hình ảnh, ví dụ như trong blog nhiếp ảnh. Hình ảnh có thể có hoặc không có chú thích.
  • Link: Một bài viết ngắn với một liên kết mà bạn thấy hữu ích và muốn chia sẻ với độc giả của mình. Kiểu Post Formats này thường chứa tiêu đề và đôi khi là mô tả ngắn gọn liên kết mà bạn muốn chia sẻ.
  • Quote: Một trích dẫn trên blog của bạn. Thường thì người dùng sẽ trích dẫn một đoạn từ một nguồn nào đó.
  • Status: Một cập nhật trạng thái ngắn gọn, thường có giới hạn từ 140 ký tự hoặc ít hơn.
  • Video: Một video, thường thì nó được nhúng trong một trình phát video tiện dụng (như Youtube). Vì thế người đọc của bạn có thể nhấp vào để xem video mà không cần phải rời khỏi website.
  • Audio: Kiểu post formats này dùng để chia sẻ audio hoặc podcasts. Thường thì một Audio post chỉ có một mô tả ngắn gọn; thay vào đó nó tích hợp trình phát audio để người đọc có thể nhấp vào và nghe trực tiếp trên trang của bạn.
Nếu website của bạn cần một kiểu Post Format khác không có sẵn, bạn nên thêm một Custom Post Type để thay thế

Thêm Post Formats vào theme

Để thêm hỗ trợ cho Post Formats vào WordPress Theme của bạn (giả sử rằng WordPress Theme không hỗ trợ tính năng này), bạn cần thêm lời gọi hàm vào khuôn mẫu Theme Functions (functions.php). Sau khi bạn làm theo các bước hướng dẫn, bạn sẽ thấy sự kỳ diệu xuất hiện trên trang Add New Post của WordPress Dashboard.

1. Trong WordPress Dashboard, nhấp vào liên kết Appearance  Editor.

2. Nhấp vào tập tin functions.php trong danh sách các template ở phía bên phải của trang để mở tập tin Theme Functions.

3. Trong hộp Text Editor, thêm tính năng bên dưới vào trước thẻ đóng ?>:

add_theme_support(‘post-formats’, array(‘aside’, ‘chat’, ‘gallery’, ‘image’, ‘link’, ‘quote’, ‘status’, ‘video’, ‘audio’ ));
Mã trên thêm các kiểu Post Formats có sẵn vào WordPress Theme của bạn. Bạn có thể thêm các kiểu Post Formats mà bạn nghĩ mình sẽ sử dụng, bỏ các kiểu còn lại

4. Nhấp vào nút Update File để lưu lại các thay đổi trong tập tin functions.php.

Bạn không thể nhận thấy sự thay đổi ngay tức thì trên trang web của mình sau khi lưu lại các thay đổi trong tập tin Theme Functions. Để thấy WordPress đã thêm gì vào trang web của mình, bạn cần truy cập vào trang Add New Post bằng cách nhấp vào liên kết Posts » Add New trong WordPress Dashboard. Bạn sẽ thấy một đối tượng mới có tên là Format hiện ra trong phần Publish, nó liệt kê tất cả các kiểu Post Formats mà bạn đã thêm vào WordPress Theme của mình.

add post formats to theme

Dùng template tag cho Post Formats

Việc thêm hỗ trợ Post Formats vào WordPress Theme là chưa đủ. Nếu bạn gặp phải rắc rối khi thêm hỗ trợ Post Formats, bạn nên cung cấp một số định dạng kiểu riêng biệt cho từng kiểu định dạng. Nếu không các Post Formats khác nhau của bạn sẽ trong không khác gì các bài viết khác trên blog của bạn. Vì thế việc thêm Post Formats vào WordPress Theme sẽ chẳng có ý nghĩa gì.

Bạn có thể làm cho Post Formats hiển thị độc đáo bằng hai cách:

  • Nội dung: Đối với mỗi định dạng, bạn có thể thiết kế nội dung bạn muốn hiển thị. Nếu bạn không muốn hiển thị tiêu đề cho kiểu Aside, hãy bỏ qua template tags gọi nó, nhưng để lại template tag gọi tiêu đề cho kiểu Video Post Formats.
  • Định dạng kiểu: Mỗi kiểu formats của bạn có một lớp CSS dùng để định dạng kiểu cho nó. Dùng lớp CSS này để tạo kiểu độc nhất cho nó bằng cách định dạng fonts, màu sắc, màu nền và viền cho post formats.

Thêm định dạng kiểu duy nhất cho Post Formats của bạn bắt đầu bằng cách tạo các nội dung chỉ định cho mỗi định dạng. Khả năng là vô tận và nó phụ thuộc vào kỹ năng của bạn.

Các bước bên dưới sẽ giúp bạn tạo tập tin Main Index (index.php) đơn giản để dùng cho website của mình và bao gồm cả hỗ trợ Post Formats. Template này là một ví dụ để bạn tham khảo khi tạo hiển thị tùy chỉnh cho các Post Formats của mình.

1. Mở trình chỉnh sửa văn bản mà bạn yêu thích như Notepad (PC), TextEdit (Mac).

2. Nhập đoạn code bên dưới để tạo template đơn giản cho Post Formats

<?php get_header(); ?>

<?php if (have_post()): ?>

<php? while(have_posts()): the_post(); ?>

<div id=”post-<?php the_ID(); ?>

” <?php post_class(); ?>

<?php

if (has_post_format(‘aside’)) {

echo the_content();

}

elseif (has_post_format(‘chat’)) {

echo ‘<h3>’;

echo the_title();

echo ‘</h3>’;

echo the_content();

}
elseif (has_post_format(‘gallery’)) {

echo ‘<h3>’;

echo the_title();

echo ‘</h3>’;

echo the_content();

}
elseif (has_post_format(‘image’)) {

echo ‘<h3>’;

echo the_title();

echo ‘</h3>’;

echo the_post_thumbnail(‘image-format’);

echo the_content();

}
elseif (has_post_format(‘link’)) {

echo ‘<h3>’;

echo the_title();

echo ‘</h3>’;

echo the_content();

}
elseif (has_post_format(‘quote’)) {

echo the_content();

}
elseif (has_post_format(‘status’)) {

echo the_content();

}
elseif (has_post_format(‘video’)) {

echo ‘<h3>’;

echo the_title();

echo ‘</h3>’;

echo the_content();

}
elseif (has_post_format(‘audio’)) {

echo ‘<h3>’;

echo the_title();

echo ‘</h3>’;

echo the_content();

}
else {

echo ‘<h3>’;

echo the_title();

echo ‘</h3>’;

echo the_content();

}
?>
</div>

<?php endwhile; else: ?>

<?php endif; ?>

<? get_sidebar(); ?>

<?php get_footer(); ?>


Tôi xin giải thích ý nghĩa của các dòng code phía trên như sau:

  • Dòng 1: Includes tất cả mã lệnh từ tập tin header.php trong theme của bạn.
  • Dòng 2-3: Cho biết vòng lặp sẽ được bắt đầu.
  • Dòng 4: Cung cấp HTML và CSS bằng cách dùng post_class(); chức năng này cung cấp một lớp CSS duy nhất cho mỗi loại post formats của bạn.
  • Dòng 5: Khởi tạo hàm PHP.
  • Dòng 6-8: Cung cấp nội dung cho Aside Post Formats.
  • Dòng 9-14: Cung cấp nội dung cho Chat Post Formats.
  • Dòng 15-20: Cung cấp nội dung cho Gallery Post Formats.
  • Dòng 21-27: Cung cấp nội dung cho Image Post Formats.
  • Dòng 28-33: Cung cấp nội dung cho Link Post Formats.
  • Dòng 34-36: Cung cấp nội dung cho Quote Post Formats.
  • Dòng 37-39: Cung cấp nội dung cho Statuts Post Formats.
  • Dòng 40-45: Cung cấp nội dung cho Video Post Formats.
  • Dòng 46-51: Cung cấp nội dung cho Audio Post Formats.
  • Dòng 52-57: Cung cấp nội dung cho tất cả các kiểu bài viết mặc định khác.
  • Dòng 58: Kết thúc hàm PHP.
  • Dòng 59: Đóng thẻ <div> được mở ở dòng 4.
  • Dòng 60-61: Kết thúc mệnh đề while và if được bắt đầu ở dòng 2-3.
  • Dòng 62: Include tập tin sidebar.php trong theme của bạn.
  • Dòng 63: Include tập tin footer.php trong theme của bạn.

Đoạn code trên là một ví dụ đơn giản không có chứa nhiều đánh dấu HTML và các lớp CSS. Tôi đơn giản hóa nó để tập trung vào các mã cần thiết và xác định nội dung hiển thị cho post formats của bạn. Bạn có thể thấy tất cả các Post Formats đều sử dụng template tag the_content(); để hiển thị nội dung bài viết. Một vài post formats có chứa template tag để hiển thị tiêu đề the_title(); nhưng một số khác thì lại không. Bạn có thể thao tác với các kiểu nội dung khác nhau mà bạn muốn thêm vào post formats của mình.

Nối các template bổ sung cho post formats với post_class(); để thêm các lớp CSS đặc biệt và đánh dấu HTML cho mỗi kiểu post formats khác nhau. Bạn có thể tùy chỉnh các post formats riêng lẻ cho nội dung chính của mình.

3. Lưu tập tin lại với tên là index.php.

4. Upload tập tin vào thư mục theme (/wp-content/themes/your-theme-name), thay cho tập tin index.php đã có trước đó.

Thêm hỗ trợ cho Post Thumbnails

Dùng ảnh thu nhỏ (post thumbnails) hoặc ảnh tiêu biểu (featured images) tốn rất nhiều công sức vì ngoài việc tạo liên kết giữa hình ảnh với bài viết bạn còn phải sử dụng đúng kích thước cho mỗi lần đăng bài. Một cách phổ biến để hiển thị nội dung trong các WordPress Themes là hiển thị hình ảnh thu nhỏ với một đoạn trích dẫn; tất cả các hình ảnh thu nhỏ có cùng kích thước và vị trí trong WordPress Theme của bạn.

Trước khi đưa hình ảnh thu nhỏ vào bài viết trong WordPress, người dùng phải mở một chương trình chỉnh sửa ảnh (ví dụ như Adobe Photoshop) để cắt và điều chỉnh kích thước của ảnh. Ngoài ra, nhiều người dùng đã viết một số tập lệnh để thay đổi hình ảnh trên trang web theo ý của mình. Giải pháp này không tối ưu vì nó vô tình làm ảnh hưởng đến tài nguyên máy chủ.

Vậy làm thế nào sử dụng CMS để cắt và điều chỉnh ảnh theo kích cỡ mà bạn muốn? WordPress sẽ làm điều đó cho bạn chỉ với một vài điều chỉnh.

Theo mặc định khi bạn tải lên một ảnh trong WordPress, nó sẽ tạo ra 03 phiên bản cho hình ảnh dựa vào cài đặt mà bạn đã thiết lập trên trang Dashboard’s Media Settings. (Nhấp vào Settings » Media).

  • Thumbnail size (ảnh thu nhỏ): Kích cỡ mặc định là 150px x 150px.
  • Medium size (ảnh cỡ vừa): Kích cỡ mặc định là 300px x 300px.
  • Large size (ảnh cỡ lớn): Kích cỡ mặc định là 1024px x 1024px.

Khi bạn tải lên một ảnh, sẽ có 04 phiên bản được lưu trữ trên máy chủ web của bạn: ảnh thu nhỏ, ảnh cỡ vừa, ảnh có kích cỡ lớn và ảnh gốc. Hình ảnh được cắt và thay đổi kích thước theo tỷ lệ, và khi bạn sử dụng chúng trong các bài viết của mình, bạn thường có thể chỉ định kích thước nào bạn muốn sử dụng. Bạn có thể upload hình ảnh thông qua trang  Add New Post, Add New Page, và Add New Media trong WordPress Dashboard.

Trong trình upload hình ảnh của WordPress, bạn có thể chỉ định một hình ảnh cụ thể làm ảnh đại diện cho bài viết sau đó sử dụng tính năng ảnh đại diện mà bạn thêm vào WordPress Theme bao gồm các thẻ khuôn mẫu để hiển thị ảnh đại diện đã chọn với bài viết của mình. Kỹ thuật này hữu ích khi tạo kiểu website tạp chí hoặc tin tức trong WordPress.

Thêm ảnh thu nhỏ cho bài viết vào Theme

Một số WordPress Theme mặc định đã hỗ trợ tính năng thêm ảnh thu nhỏ. Tuy nhiên nếu WordPress Theme của bạn không hỗ trợ bạn có thể thêm tính năng này vào WordPress Theme. Để thêm ảnh thu nhỏ cho bài viết bạn chỉ cần thêm dòng code bên dưới vào tập tin funtions (funtions.php):

add_theme_support(‘post-thumbnails’);

Sau khi bạn thêm dòng code này vào tập tin functions.php của theme, bạn có thể sử dụng ảnh đại diện cho bài viết của mình vì tính năng Post Thumbnails đã được kích hoạt. Sau đó bạn có thể chỉ định ảnh đại diện bằng cách sử dụng các hình ảnh đã tải lên và trên trang Add New Post, nơi mà bạn tạo và xuất bản bài viết.

Sau khi bạn thêm ảnh đại diện cho bài viết, hãy đảm bảo rằng bạn thêm chính xác thẻ cho khuôn mẫu để ảnh đại diện xuất hiện đúng vị trí mà bạn muốn trong trang web của mình. Ví dụ: Mở template index.php và thêm dòng code bên dưới để include phiên bản hình ảnh thu nhỏ của ảnh đại diện bạn đã chọn trong bài viết của mình.

<?php if(has_post_thumbnail()) {the_post_thumbnail(‘thumbnail’); ?>

Phần đầu tiên của dòng code  kiểm tra xem bài viết có ảnh đại diện hay không; Nếu có thì hiển thị hình ảnh. Nếu bài viết không có ảnh ảnh đại diện thì không hiển thị gì cả. Bạn có thể include kích cỡ mặc định khác cho ảnh bằng cách dùng các thẻ:

<?php if(has_post_thumbnail()) {the_post_thumbnail(‘medium’); ?>
<?php if(has_post_thumbnail()) {the_post_thumbnail(‘large’); ?>
<?php if(has_post_thumbnail()) {the_post_thumbnail(‘full’); ?>

Thêm kích cỡ tùy chỉnh cho ảnh thu nhỏ của bài viết

Trong trường hợp kích cỡ ảnh mặc định không đáp ứng được nhu cầu của bạn, và bạn muốn hiển thị ảnh với một kích cỡ tùy chỉnh thì WordPress vẫn có thể giúp bạn làm điều đó một cách dễ dàng.

Vì bạn có thể sử dụng hàm the_post_thumbnail để hiển thị ảnh đại diện cho bài viết trong theme nên bạn cũng có thể thêm ảnh đại diện với kích cỡ tùy chỉnh. Giả sử bạn muốn thêm hình ảnh đại diện mới có kích cỡ là 600px x 300px, tập tin functions.php của bạn có hàm add_theme_support(‘post-thumbnails’). Hãy thêm dòng code sau vào bên dưới hàm này:

add_image_size(‘custom’, 600, 300, true);

Dòng code này nói với WordPress tạo một phiên bản bổ sung của hình ảnh mà bạn upload và cắt, điều chỉnh kích cỡ chúng thành rộng 600pixel, cao 300 pixel. Lưu ý 04 tham số trong hàm add_image_size bên dưới:

  • Name($name): Tên của kích cỡ ảnh mới. Ví dụ: ‘custom’.
  • Width($width): Chiều rộng của ảnh. Ví dụ: 600px.
  • Height($height): Chiều cao của ảnh. Ví dụ: 300px.
  • Crop($crop): Nói cho WordPress biết có nên cắt chính xác kích cỡ ảnh hay chỉ cắt tương đối. Các đối số là true hoặc false.

Thêm một hình ảnh có kích cỡ tùy chỉnh vào WordPress Theme để hiển thị ảnh đại diện được chỉ định cũng giống như việc thêm ảnh có kích cỡ mặc định, ngoại trừ tên của ảnh nằm trong dấu ngoặc đơn của thẻ khuôn mẫu.

Ví dụ về việc thêm một ảnh có kích cỡ tùy chỉnh:

<?php if(has_post_thumbnail()) {the_post_thumbnail(‘custom’); ?>

Tìm hiểu Custom Fields

Module Custom Fields xuất hiện ở cả màn hình Add New PostAdd New Page của WordPress Dashboard, bên dưới hộp văn bản Post.

custom fields

Module Custom Fields có hai trường:

  • Name: Cũng còn được gọi là Key. Bạn cần đặt tên cho Custom Fields để sử dụng nó. Tên cần phải là duy nhất.
  • Value: Được gán cho tên của Custom Field và được hiển thị trong bài viết trên blog của bạn.

Chỉ cần nhập đầy đủ dữ liệu cho hai trường Name và Value sau đó nhấp vào nút Add Custom Field để thêm dữ liệu vào bài viết hoặc trang của bạn. Hình minh họa bên dưới hiển thị một Custom Field tôi vừa thêm vào bài viết với Name là mood và Value là Happy.

add custom fields to post in wordpress

Bạn có thể thêm nhiều Custom Fields vào một bài viết. Để làm điều đó, bạn chỉ cần thêm tên và giá trị của Custom Field trong hộp văn bản trên trang Add New Post; Sau đó nhấp vào nút Add Custom Field để gán dữ liệu cho bài viết của bạn. Lặp lại bước này cho mỗi Custom Field bạn muốn thêm vào bài viết của mình.

Sau khi bạn thêm một Custom Field cụ thể (ví dụ như Custom Field mood ở trên), bạn có thể luôn nó vào bài viết trong tương lai. Ngày mai, bạn có thể tạo một bài viết và sử dụng Custom Field nhưng gán giá trị khác cho nó. Nếu ngày mai bạn gán giá trị cho nó là Sad, bài viết của bạn sẽ hiện thị My Current Mood is: Sad. Bạn có thể dễ dàng sử dụng chỉ một Custom Field cho các bài viết tiếp theo.

Bạn có thể truy cập vào Custom Field của mình từ menu xổ xuống nằm bên dưới trường Name như hình bên dưới. Bạn chỉ cần chọn Custom Field một lần nữa và gán giá trị mới cho nó trong tương lai, bởi vì WordPress lưu mỗi khóa Custom Field để bạn có thể dùng lại một lần nữa.

su dung custom field trong lan tiep theo

Custom Fields được xem là dữ liệu bổ sung, tách biệt với nội dung bài viết trên blog của bạn. WordPress xem Custom Fields như là siêu dữ liệu (metadata). Custom Field Name và Value được lưu trữ trong bảng wp_postmeta trong cơ sở dữ liệu, để theo dõi tên và giá trị được gán cho mỗi bài viết.

Thêm Custom Fields vào tập tin template

Nếu bạn đã theo dõi ở phần trước và thêm Custom Field mood vào trang của mình, lưu ý rằng dữ liệu không xuất hiện trên trang của bạn theo cách mà nó được thêm. Để dữ liệu hiển thị một cách chính xác, bạn phải mở các tập tin template và sử dụng code để chỉnh sửa.

Bạn có thể thêm Custom Fields vào các template của mình theo nhiều cách khác nhau. Cách đơn giản nhất là dùng hàm get_post_meta(); như sau:

<?php $key=”NAME”; echo get_post_meta($post->ID, $key, true); ?>

Trong đó:

  • <?php: Bắt đầu hàm PHP. Mỗi template tag hoặc hàm cần bắt đầu PHP với <?ph.
  • $key=”NAME”;: Định nghĩa têm của khóa mà bạn muốn xuất hiện. Bạn có thể định nghĩa têm khi bạn thêm Custom Field vào bài viết của mình.
  • echo get_post_meta: Lấy dữ liệu Custom Field và hiển thị nó lên website của bạn. Trong ví dụ này nó có 03 tham số:
    • ($post->ID: Tham số tự động xác định ID của bài viết được hiển thị để WordPress biết siêu dữ liệu nào sẽ hiển thị.
    • $key,: Tham số này nhận giá trị của Custom Field dựa trên Name, như được định nghĩa trong $key=”NAME”; được thiết lập trước đó.
    • true);: Tham số nói cho WordPress trả về một kết quả thay vì nhiều kết quả. (Theo mặc định tham số này được thiết lập là true. Đừng thay đổi nó trừ khi bạn dùng nhiều định nghĩa trong thiết lập Value cho Custom Field của mình).
    • ?>: Kết thúc hàm PHP.

Phần $key=”mood”; của hàm nói cho WordPress trả về giá trị cho Custom Field với tên của mood.

Thêm code vào tập tin template

Để bạn có thể theo dõi cách thêm code vào tập tin template của mình, tôi dùng WordPress Theme có tên là Twenty Sixteen trong phần này. Nếu bạn sử dụng theme khác, bạn cần điều chỉnh sao cho phù hợp với WordPress Theme của mình.

Hãy làm theo các bước này để thêm template tag vào WordPress theme của bạn, sử dụng một chút HTML để nó trông đẹp hơn. (Các bước này giả định rằng bạn đã thêm Custom Field mood vào blog và gán giá trị cho nó).

1. Đăng nhập vào WordPress Dashboard của bạn.

2. Nhấp vào liên kết Editor trên menu Appearances.

Màn hình Edit Themes sẽ hiện ra như hình bên dưới:

edit themes screen in wordpress

3. Tìm đến các tập tin template trong WordPress theme của bạn (trong trường hợp này là Twenty Sixteen).

Các template có sẵn sẽ được liệt kê ở phía bên phải của trang Edit Themes như hình phía trên.

4. Nhấp vào content-single.php trong danh sách các templates.

Template content-single.php mở ra trong trình chỉnh sửa phía bên trái của màn hình, tại đây bạn có thể chỉnh sửa tập tin template.

5. Lăn xuống bên dưới và tìm đến template tag: </div><!– .entry-content –>

6. Trên hàng mới ngay trên dòng ở bước 5, nhập vào:

<p><strong>My Current Mood is: </strong><em>

Thể <p> và <strong> là thẻ mở cho đoạn văn bản và làm đậm chữ, tiếp theo là các từ hiển thị trong template của bạn (My Current Mood is:). <em> là thẻ mở HTML dùng để làm nghiêng chữ, được áp dụng cho value. (Thẻ </strong> đóng hiển thị chữ đậm).

7. Nhập dòng code PHP này để Custom Field hoạt động:

<?php $key=”mood”; echo get_post_meta($post->ID, $key, true); ?>

8. Nhập </em></p> để đóng các thẻ đã mở ở bước 6.

9. Nhấp vào nút Update File.

Tìm đến cuối màn hình Edit Themes, nút này sẽ lưu lại các thay đổi mà bạn đã thực hiện trong tập tin content.php và tải lại trang với thông báo rằng bạn vừa lưu lại thành công các thay đổi.

10. Xem lại bài viết trên website của bạn để xem dữ liệu Custom Field được hiển thị như thế nào.

Dữ liệu sẽ hiển thị có dạng như My Current Mood is: Happy như hình bên dưới.

vi du ve custome fields

WordPress hiển thị tâm trạng hiện tại của bạn ở phía cuối của các bài viết mà bạn thêm Custom Field mood.

Tất cả code cần thiết cho template để hiển thị Custom Field như hình trên sẽ giống như bên dưới:

<p><strong>My Current is:</strong> <em><?php $key=”mood”; echo get_post_meta($post->ID, $key, true); ?></em></p>
Đoạn code trên có phân biệt giữa chữ hoa và chữ thường, có nghĩa là các từ bạn nhập cho khóa key trong Custom Field cần khớp với trường $key. Nếu bạn nhập mood trong trường Key, ví dụ: mã cần phải là chữ thường như $key=”mood”, nếu bạn thay đổi thành $key=”Mood” thì nó sẽ không hoạt động.

Bạn phải thêm đoạn code này cho Custom Field mood chỉ một lần. Sau khi bạn thêm tính năng này vào template của mình cho Custom Field mood, bạn có thể xác định tâm trạng hiện tại của mình trong mỗi bài viết mà bạn xuất bản trên website của mình bằng cách sử dụng giao diện Custom Field.

Kiểm tra Custom Field của bạn

Trong phần trước tôi đã chia sẽ cách thêm các code vào tập tin template của mình để hiển thị Custom Field. Nhưng nếu bạn muốn xuất bản một bài viết trong đó bạn không muốn hiển thị Custom Field mood? Nếu bạn để tập tin template của bạn như thiết lập theo các bước trước đó, thậm chí nếu bạn không thêm Custom Field mood, bài viết trên blog của bạn hiển thị My Current Mood is: không có mood bởi vì bạn không định nghĩa nó.

Bạn có thể dễ dàng làm cho WordPress kiểm tra xem liệu Custom Field đã được thêm chưa. Nếu nó tìm thấy Custom Field, WordPress sẽ hiển thị tâm trạng của bạn; Nếu không tìm thấy nó sẽ không hiển thị Custom Field.

Nếu bạn làm theo các bước trước đó, mã lệnh trong template của bạn sẽ có dạng như bên dưới:

<p><strong>My Current is:</strong> <em><?php $key=”mood”; echo get_post_meta($post->ID, $key, true); ?></em></p>

Để làm cho WordPress kiểm tra xem Custom Field mood có tồn tại hay không, thêm dòng code bên dưới vào phía trên dòng lệnh phía trên đoạn code đã có:

<?php if(get_post_meta($post->, ‘mood’, true): >?

Sau đó thêm dòng code này vào bên dưới đoạn code đã có:

[?php endif; ?>

Code hoàn chỉnh sẽ giống như sau:

<?php if (get_post_meta($post->ID, ‘mood’, true): ?>
<p><strong>My Current Mood is: </strong><em><?php $key=”mood”; echo
get_post_meta($post->ID, $key, true); ?></em></p>
<?php endif; ?>

Dòng đầu tiên là mệnh đề IF dùng để kiểm tra xem từ khóa mood có tồn tại trong bài viết này hay không. Nếu có, lấy giá trị và hiển thị. Nếu không WordPress bỏ qua, không hiển thị Custom Field mood. Dòng cuối cùng dùng để kết thúc mệnh đề IF.

Trong bài viết tiếp theo chúng ta sẽ tìm hiểu khái niệm Multisite trong WordPress.

Nếu bạn thấy bài viết này hữu ích đừng quên Like và Share!

Hẹn gặp lại bạn trong bài viết tiếp theo của Series./.

Bài viết trong Series
<< Phần trước: Tìm hiểu Parent Theme và Child Theme

Đăng ký nhận bài viết mới nhất

Hãy đăng ký nhận tin để nhận được những nội dung thú vị và tuyệt vời!

Để lại bình luận

Plugins Themes Thủ thuật
Thay đổi email quản trị trong wordpress
Hướng dẫn thay đổi email quản trị trong WordPress
hướng dẫn khắc phục lỗi không gửi được email trong wordpress
Hướng dẫn khắc phục lỗi không gửi được email trong WordPress
Hướng dẫn chụp màn hình để minh hoạ cho bài viết trong WordPress
Cách chụp màn hình để minh hoạ cho các bài viết trên blog WordPress
Keyword Research SEO Offpage SEO Onpage
Từ khoá và website của bạn
Xây dựng Website chuẩn SEO
Xây dựng Website chuẩn SEO
Hướng dẫn chi tiết WordPress SEO
Hướng dẫn chi tiết WordPress SEO cho người mới
Ajax Bootstrap HTML/CSS JavaScript Joomla jQuery PHP/MySQL
Cách đặt tên miền
Tên miền là gì? Cách chọn tên miền cho blog WordPress
Thay đổi tên miền cho website wordpress
Hướng dẫn thay đổi tên miền cho website WordPress
Sự khác nhau giữa tên miền và Web Hosting
Sự khác nhau giữa tên miền và Web Hosting
Amazon Nichesite Google Adsense Product Lauch Social Marketing Viết Blog Youtube Partner
Thêm Google Adsense vào trang web WordPress
Hướng dẫn thêm Google Adsense vào trang web WordPress
Hướng dẫn đăng ký tài khoảnClickbank khi bị chặn ở Việt Nam
Hướng dẫn đăng ký tài khoản Clickbank khi bị chặn tại Việt Nam
Kiếm tiền từ blog WordPress
Kiếm tiền từ blog WordPress như thế nào?