פרטי הקורס
מבוא לאופטימיזציה של מסדי נתונים
0/1
חלק 6: בניית סקריפט ייבוא מותאם אישית
חלק 7: בניית סקריפטים מותאמים אישית לייבוא נתונים
קורס: אופטימיזציה לביצועי מסדי נתונים וייבוא קבצים גדולים ל-WordPress
פרטי השיעור

שיעור 5.2: יצירת Custom Post Type ב-WordPress

לפני שנוכל לייבא פוסטים מותאמים אישית, עלינו קודם כל לרשום את סוג הפוסט המותאם אישית ב-WordPress. נלמד איך לעשות זאת באמצעות פונקציה פשוטה ב-PHP.

  1. יצירת Custom Post Type ב-PHP

ניצור פונקציה לרישום סוג הפוסט המותאם אישית בקובץ functions.php בתבנית WordPress שלנו, או בקובץ תוסף שאותו נתתקין אחרי זה – רק לשים לב לדוגמאות קוד לתוסף יש הדק אחר טיפה אחבל הקוד זהה.

// פונקציה לרישום Custom Post Type
function create_custom_post_type() {
    $labels = array(
        'name' => __( 'נכסים' ),
        'singular_name' => __( 'נכס' ),
        'menu_name' => __( 'נכסים' ),
        'name_admin_bar' => __( 'נכס' ),
    );

    $args = array(
        'labels' => $labels,
        'public' => true,
        'has_archive' => true,
        'rewrite' => array( 'slug' => 'properties' ),
        'supports' => array( 'title', 'editor', 'thumbnail', 'custom-fields' ),
        'show_in_rest' => true, // מאפשר לערוך דרך ממשק ה-REST API
    );

    register_post_type( 'property', $args ); // רישום סוג הפוסט
}
add_action( 'init', 'create_custom_post_type' );

הסבר הקוד:
  • register_post_type: הפונקציה המרכזית שמשמשת לרישום סוג הפוסט המותאם אישית. אנחנו מגדירים את השם, את התוויות ואת התכונות של סוג הפוסט.
  • supports: מאפשר לנו לקבוע אילו תכונות יהיו זמינות עבור הפוסטים המותאמים אישית. כאן הוספנו את שדות הכותרת, התוכן, התמונה הראשית, והשדות המותאמים אישית.
  • has_archive: מאפשר לנו להציג ארכיון של סוג הפוסט.

תרחיש נוסף: יצירת סוגי פוסטים מותאמים למוצרים

function create_product_post_type() {
    $labels = array(
        'name' => __( 'מוצרים' ),
        'singular_name' => __( 'מוצר' ),
    );

    $args = array(
        'labels' => $labels,
        'public' => true,
        'has_archive' => true,
        'rewrite' => array( 'slug' => 'products' ),
        'supports' => array( 'title', 'editor', 'thumbnail', 'custom-fields', 'excerpt' ),
    );

    register_post_type( 'product', $args );
}
add_action( 'init', 'create_product_post_type' );


צפיות מבקרים: 5