لابد أنك لاحظت عند تثبيت بعض القوالب، أنها تقوم بإنشاء صفحات خاصة تلقائيا بحيث تكون في غالب الأحيان تحتوي على أكواد قصيرة shortcodes لاستدعاء وظائف معينة، نصوص، أو تكون مسندة لقالب صفحة مخصص.
هذه الصفحات يتم انشاءها لعمل شيء محدد، مثل عرض منتوجات، إدراج ملفات الأعضاء الشخصية، حقول التسجيل في الموقع وغير ذلك من الصفحات التي تلبي احتياجات ومتطلبات الموقع. مثل هذه الأشياء هي التي تجعل من ووردبريس الخيار الأول للمطورين.
إضافة دعم القالب لهذه الخاصية بسيطة وسهلة الإعداد، كما أنها لا تتطلب معرفة واسعة في لغات البرمجة. لفعل ذلك فقط قم بنسخ هذه الوظيفة في ملف functions.php
الخاص بالقالب المفعَّل.
/**
* Create a new page after active the theme.
*
* @return void
*/
function sb_create_new_page_after_install_the_theme() {
$new_page_title = 'New page title';
$new_page_content = 'Lorem ipsum dolor sit amet consectetur, adipisicing elit. Tempora eius minima dignissimos, quae sunt vero amet laudantium ratione veritatis voluptatibus animi atque distinctio omnis explicabo nemo qui itaque libero eveniet?';
$user_id = get_current_user_id();
// You can set a cutom post template if exist en your theme, ex: page-portfolio.php.
$new_page_template = '';
// Get post id by title.
$page_check = get_page_by_title( $new_page_title );
$new_page = array(
'post_type' => 'page',
'post_title' => $new_page_title,
'post_content' => $new_page_content,
'post_status' => 'publish',
'post_author' => $user_id,
);
// check if page exist.
if ( ! isset( $page_check->ID ) ) {
// Instert page.
$new_page_id = wp_insert_post( $new_page );
// Set page template if not empty.
if ( ! empty( $new_page_template ) ) {
update_post_meta( $new_page_id, '_wp_page_template', $new_page_template );
}
}
}
add_action( 'after_switch_theme', 'sb_create_new_page_after_install_the_theme' );
أظن أن الكود سهل ولا يحتاج لشرح، فقط عليك تعيين عنوان الصفحة في المتغير $new_page_title
, ومحتواها في المتغير $new_page_content
, وإذا كنت تريد استعمال قالب صفحة مخصص فقط عليك وضع اسمه في المتغير $new_page_template
… هكذا مثلا:
$new_page_template = 'page-portfolio.php';
شيء آخر أريد الإشارة إليه هو أنك إذا كنت قد أنشأت نوع مقالات مخصص وتريد أن يتم النشر فيه تلقائيا عند تفعيل القالب، فقط عليك تغيير page باسم نوع المقالات المخصص في مصفوفة المتغير $new_page
. هكذا مثلا:
$new_page = array(
'post_type' => 'page',
'post_title' => $new_page_title,
'post_content' => $new_page_content,
'post_status' => 'publish',
'post_author' => $user_id,
);
أتمنا أن تكون قد استفدت من الموضوع، إلى اللقاء في الموضوع القادم بإذن الله.
أضف رأيك حول الموضوع