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.