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

تابع ووکامرسی 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

ارسال نظر

جهت استفاده از کد حتما از تگ pre استفاده نمایید .

contact us