تابع ووکامرسی wc_create_page ساخت صفحه جدید فروشگاهی

تابع ووکامرسی wc_create_page – ساخت صفحه جدید فروشگاهی
Syntax – سینتکس
(int) wc_create_page( (mixed) $slug, (string) $option = '', (string) $page_title = '', (string) $page_content = '', (int) $post_parent = 0 );
Parameters – پارامتر ها (5)
- 1- $slug (mixed)
- 2- $option (string)
- 3- $page_title (string)
- 4- $page_content (string)
- 5- $post_parent (int)
Returns – مقادیر بازگشتی (int)
page ID
Usage – نحوه استفاده
if ( !function_exists( 'wc_create_page' ) ) {
require_once ABSPATH . PLUGINDIR . 'woocommerce/includes/admin/wc-admin-functions.php';
}
// Slug for the new page
$slug = null;
// Option name to store the page's ID
$option = '';
// (default: '') Title for the new page
$page_title = '';
// (default: '') Content for the new page
$page_content = '';
// (default: 0) Parent for the new page
$post_parent = -1;
// NOTICE! Understand what this does before running.
$result = wc_create_page($slug, $option, $page_title, $page_content, $post_parent);
Defined – محل تعریف
/includes/admin/wc-admin-functions.php
function wc_create_page( $slug, $option = '', $page_title = '', $page_content = '', $post_parent = 0 ) {
global $wpdb;
$option_value = get_option( $option );
if ( $option_value > 0 && ( $page_object = get_post( $option_value ) ) ) {
if ( 'page' === $page_object->post_type && ! in_array( $page_object->post_status, array( 'pending', 'trash', 'future', 'auto-draft' ) ) ) {
// Valid page is already in place
return $page_object->ID;
}
}
if ( strlen( $page_content ) > 0 ) {
// Search for an existing page with the specified page content (typically a shortcode)
$valid_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status NOT IN ( 'pending', 'trash', 'future', 'auto-draft' ) AND post_content LIKE %s LIMIT 1;", "%{$page_content}%" ) );
} else {
// Search for an existing page with the specified page slug
$valid_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status NOT IN ( 'pending', 'trash', 'future', 'auto-draft' ) AND post_name = %s LIMIT 1;", $slug ) );
}
$valid_page_found = apply_filters( 'woocommerce_create_page_id', $valid_page_found, $slug, $page_content );
if ( $valid_page_found ) {
if ( $option ) {
update_option( $option, $valid_page_found );
}
return $valid_page_found;
}
// Search for a matching valid trashed page
if ( strlen( $page_content ) > 0 ) {
// Search for an existing page with the specified page content (typically a shortcode)
$trashed_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status = 'trash' AND post_content LIKE %s LIMIT 1;", "%{$page_content}%" ) );
} else {
// Search for an existing page with the specified page slug
$trashed_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status = 'trash' AND post_name = %s LIMIT 1;", $slug ) );
}
if ( $trashed_page_found ) {
$page_id = $trashed_page_found;
$page_data = array(
'ID' => $page_id,
'post_status' => 'publish',
);
wp_update_post( $page_data );
} else {
$page_data = array(
'post_status' => 'publish',
'post_type' => 'page',
'post_author' => 1,
'post_name' => $slug,
'post_title' => $page_title,
'post_content' => $page_content,
'post_parent' => $post_parent,
'comment_status' => 'closed',
);
$page_id = wp_insert_post( $page_data );
}
if ( $option ) {
update_option( $option, $page_id );
}
return $page_id;
}
versions – نسخه ها
از نسخه : 3.0.2
نسخه فعلی : 3.0.6
دیگر نسخه ها : 3.0.6 , 3.0.5 , 3.0.4 , 3.0.3 , 3.0.2
ارسال نظر