Post

#Get

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.

static function Posts::get($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.
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.

#Gets

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

static function Posts::gets($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.
tax_query array Lấy bài viết dựa theo taxonomy. Xem ví dụ Example
meta_query array Lấy bài viết dựa theo metadata. Xem ví dụ Example
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.

#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, 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
    ),
    array(
        'taxonomy' => 'posttype',
        'field' => 'slug',
        'terms' => 'gallery',
    ),
];

$post = Posts::gets($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 = Posts::gets($args);

#Gets Category

Lấy danh sách danh mục của post

static function Posts::getsCategory($id, $args);

Phương thức được hỗ trợ từ phiên bản cms 4.5.0

#Parameters

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

Kiếu (number) là id của post cần lấy danh mục hoặc kiểu (object) là đối tượng post cần lấy danh mục

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

Kiếu (string) là cate_type của category cần lấy hoặc (array) mảng các tham số:

Parameter Value Description
cate_type string là cate_type của category cần lấy.
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.

#Example

$categories = Posts::getsCategory(11, 'project-category');
$args 	= [
    'cate_type' => 'post_categories',
    'where' => array(
        'public' => 1
    ),
];
$categories = Posts::getsCategory(10, $args);

#Count

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

static function Posts::count($args);

#Insert

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

static function Posts::insert($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

#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"
	]
];

Posts::insert($post);

#Delete

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

static function Posts::delete($id);

#Metadata

Get

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

static function Posts::getMeta($postID, $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

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

static function Posts::updateMeta($postID, $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

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:

static function Posts::deleteMeta($postID, $meta_key = '', $meta_value = ');

#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.