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