Post

Skilldo được tích hợp cơ chế bài viết chuyên xâu, cho phép mỗi website có thể có một hay nhiều bài viết.

Skilldo post là một hệ thống quản trị nội dung cho các bài viết được đưa lên, sắp xếp theo thứ tự thời gian. Các bài viết có thể được đưa vào một hay nhiều category được người dùng định nghĩa với một hay nhiều tag khác nhau, cho phép người đọc có thể đăng nhận xét của mình với bài viết.

Post được sử dụng giống các phương tiện truyền thông như báo chí, thư với nội dung thay đổi theo thời gian. Nếu bạn cần một trang tĩnh (ví dụ như trang "Về chúng tôi"), chúng tôi khuyên bạn nên sử dụng Page.

#Get post

Phương thức này trả về một hàng kết quả duy nhất. Nếu truy vấn của bạn có nhiều hơn một hàng, nó chỉ trả về hàng đầu tiên. Kết quả được trả về như một đối tượng.

function get_post( $args )

#Parameters

Tham số $args có thể là :

ID (int) bài viết

Mảng (array) các tham số

Parameter Value Description
post_type string tên post type cần lấy bài viết.

post_type chỉ sử dụng được từ phiên bản 3.0.5 trở lên.

where string | array Xem Model::get_data để biết thông tin về các đối số được chấp nhận.
params array Xem Model::get_data để biết thông tin về các đối số được chấp nhận.

#Source

src/
├── ...
└── application/
    └── helpers/
        └── post_helper.php

#Gets post

Phương thức này trả về kết quả truy vấn dưới dạng một mảng các đối tượng hoặc một mảng trống khi thất bại. Thông thường, bạn sẽ sử dụng điều này trong một vòng lặp foreach

function gets_post( $args )

#Parameters

Tham số $args có thể là :

Mảng (array) các tham số

Parameter Value Description
post_type string tên post type cần lấy bài viết.

post_type chỉ sử dụng được từ phiên bản 3.0.5 trở lên.

tax_query array Lấy bài viết dựa theo taxonomy. Xem ví dụ Example

tax_query chỉ sử dụng được từ phiên bản 3.0.5 trở lên.

meta_query array Lấy bài viết dựa theo metadata. Xem ví dụ Example

meta_query chỉ sử dụng được từ phiên bản 3.0.0 trở lên.

where_category int | object Lấy danh sách post theo category
where string | array Xem Model::gets_data để biết thông tin về các đối số được chấp nhận.
params array Xem Model::gets_data để biết thông tin về các đối số được chấp nhận.

#Source

src/
├── ...
└── application/
    └── helpers/
        └── post_helper.php

#Example

Lấy bài viết theo danh mục tin tức và loại bài viết gallery

$args = [];
$args['post_type'] 	= 'post';
$args['params'] 	= ['orderby' => 'order,created asc'];
$args['tax_query'] 	= [
	'relation' => 'AND', 				//(string) - Mối quan hệ giữa các tham số bên trong, AND hoặc OR
	array(
		'taxonomy' => 'post_categories',	//(string) - Tên của taxonomy
		'field' => 'slug',			//(string) - Loại field cần xác định term của taxonomy, sử dụng 'id' hoặc 'slug'
		'terms' => 'tin-tuc'			//(int/string/array) - Slug của các terms bên trong taxonomy cần lấy bài
	),
	array(
		'taxonomy' => 'posttype',
		'field' => 'slug',
		'terms' => 'gallery',
	),
];

$post = gets_post($args);

Lấy bài viết theo danh mục tin tức và loại bài viết gallery

$args = [];
$args['post_type'] 	= 'post';
$args['meta_query'] = [
	'relation' => 'AND', //(array)  - Sử dụng nhiều điều kiện lấy bài viết theo custom field 
	array(
		'key' 		=> 'view', //(string) - Tên meta key
		'value' 	=> '10', //(string/array) - Giá trị meta value
		'compare' 	=> 'LIKE',  //(string) - Toán tử so sánh với giá trị value trong mảng này. Có thể sử dụng '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN'. Default value is '='.
	),
	array(
		'key' 		=> 'posttype',
		'value' 	=> 'gallery',
	),
];

$post = gets_post($args);

#Count post

Số lượng bài viết được trả về bởi truy vấn.

function count_post( $args )

#Source

src/
├── ...
└── application/
    └── helpers/
        └── post_helper.php

#Insert post

Tạo một bài viết mới hoặc cập nhật bài viết

function insert_post( $args )

#Parameters

Tham số $args mảng (array) các tham số

Nếu tham số $args có 'id' được đặt thành một giá trị thì bài viết sẽ được cập nhật và ngược lại là thêm mới.

Parameter Value Description
id int | default 0 Nếu khác 0 bài đăng sẽ được cập nhật.
title string Tiêu đề bài viết.
excerpt string Mô tả ngắn bài viết.
content string Nội dung chi tiết bài viết.
seo_title string meta title nếu để trống sẽ tự động lấy title.
seo_description string meta description nếu để trống sẽ tự độn lấy excerpt.
seo_keywords string Meta keywords.
image string Ảnh đại diện bài viết.
post_type string Loại bài đăng. mặc định 'post'
public int Trạng thái mở hoặc đóng bài viết, mặc định mở.
taxonomies array Danh sách id các danh mục
language array Danh sách dữ liệu các ngôn ngữ khác

#Return

(int | SKD_Error ) ID bài viết hoặc đối tượng lỗi SKD_Error

#Source

src/
├── ...
└── application/
    └── helpers/
        └── post_helper.php

#Example

$post = [
	'title' => 'Tiêu đề bài viết',
	'excerpt' => 'Nội dung tóm tắt',
	'content' => 'Nội dung chi tiết',
	'image' => 'post/banner.png',
	'public' => 1,
	'language' => [
		'en' => [
			'title' 	=> 'This is post name',
			'excerpt' 	=> 'excerpt post',
			'content' 	=> 'content post',
		],
	],
	'taxonomies' => [
		'post_categories' => [4,3], //Category default
		'posttype' => [9], //category with cate_type as "posttype"
	]
];

insert_post($post);

#Delete post

Xóa một bài viết

function delete_post( $args )

#Source

src/
├── ...
└── application/
    └── helpers/
        └── post_helper.php

#Metadata

Tham khảo chi tiết Cms metadata

#Get metadata

Hàm này dùng để lấy một metadata trong cơ sở dữ liệu

function get_post_meta($object_id = '', $meta_key = '', $single = false)

#Parameters

Parameter Value Description
$object_id int Id post
$meta_key string Key của Meta data
$single true|false (default false) Nếu $single = true thì nó sẽ trả về giá trị của $meta_key, ngược lại nó sẽ trả về một mảng chứa tất cả các thông tin của record đó.

#Update metadata

Hàm này cập nhật giá trị cho một meta key nào đó, nếu meta_key không tồn tại sẽ tạo mới metadata

function update_post_meta($object_id, $meta_key, $meta_value)

#Parameters

Parameter Value Description
$object_id int Id post
$meta_key string Key của Meta data
$meta_value string Giá trị của Meta data

#Delete metadata

Hàm này xóa một hoặc nhiều metas ra khỏi cơ sở dữ liệu, cấu trúc như sau:

function delete_post_meta($object_id, $meta_key, $meta_value, $delete_all = false)

#Parameters

$delete_all sẽ có giá trị true hoặc false, nếu true thì nó xóa hết tất cả các field có key trùng với $meta_key, ngược lại nó chỉ xóa field có key trùng với $meta_key và có object_id trùng với $object_id.

$meta_value nếu bạn thiết lập giá trị cho tham số này thì nó sẽ bổ sung thêm một điều kiện xóa đó là giá trị của key meta phải bằng với $meta_value.