رفتن به مطلب

ساخت خودکار برگه جدید


پست های پیشنهاد شده

سلام خدمت تمامی دوستان و عزیزان و بزرگواران و اساتید گرامی ...

یه سوال خیلی خیلی تخصصی داشتم .

بعضی از قالب ها و افزونه ها هستند که وقتی نصب و فعال می کنیم به صورت خود کار یک یا چند برگه جدید در سایت می سازند و محتوای پیش فرض خودشون را وارد می کنند .

می خواستم بدونم چی جوری میشه این کار را کرد ، که زمانی که قالب فعال میشه 2 برگه ساخته بشه حالا یا محتوا توش قرار بگیره و یا این که قالبی که درست کردیم بهش اضافه بشه ...

لینک به ارسال

برای ایجاد برگه دیفالت در زمان فعال سازی پلاگین در تاپیک دیگری ارائه دادم (جستجو کنید)

اما برای ایجاد برگه دیفالت در زمان فعال سازی پوسته:

به فایل فانکشن اضافه کنید:


if (isset($_GET['activated']) && is_admin()){
$page_title = 'اینجا نام برگه را وارد کنید';
$page_content = 'اینجا متن برگه و یا شورتکد را وارد نمایید';
$page_template = 'نام تمپلیت را اینجا بنویسید و اگر از قالب پیشفرض برگه ها استفاده می کنید اینجا را خالی بگذارید';
$page_triger = get_page_by_title(page_title);
$new_page = array(
'post_type' => 'page',
'post_title' => $page_title,
'post_content' => $page_content,
'post_status' => 'publish',
);
if(!isset($page_triger->ID)){
$page_id = wp_insert_post($new_page);
if(!empty($page_template)){
update_post_meta($page_id, '_wp_page_template', $page_template);
}
}
}

ویرایش شده توسط isk
لینک به ارسال

یه سوال دیگه :

میشه بهش آدرس هم داد ؟

به عنوان مثل این صفحه ای که می سازه ادرس contact باشه .

یعنی بشه www.sait.com/contact

لینک به ارسال
  • 8 ماه بعد...

سلام

سوالم دقیقا در همین مورد هست. به همین دلیل تاپیک نزدم

یه اقزونه نوشتم که یه برگه به سایت اضافه میکنه خودش! با استفاده از wp_insert_post

توی مدیریت افزونه میخوام لینک این برگه که ساخته شده رو قرار بدم.

طوری باشه که اگه پیوند یکتا عددی بود، به همون صورت لینک رو نمایش بده. و اگه پیوند یکتا بصورت نام نوشته بود هم بصورت slug یا نامک نمایش بده لینک رو .

چند مورد توی سایتهای انگلیسی و خود سایت وردپرس راه حل بود که جوب نداد .

باید از چه کدی استفاده کنم؟

لینک به ارسال

سلام

سوالم دقیقا در همین مورد هست. به همین دلیل تاپیک نزدم

یه اقزونه نوشتم که یه برگه به سایت اضافه میکنه خودش! با استفاده از wp_insert_post

توی مدیریت افزونه میخوام لینک این برگه که ساخته شده رو قرار بدم.

طوری باشه که اگه پیوند یکتا عددی بود، به همون صورت لینک رو نمایش بده. و اگه پیوند یکتا بصورت نام نوشته بود هم بصورت slug یا نامک نمایش بده لینک رو .

چند مورد توی سایتهای انگلیسی و خود سایت وردپرس راه حل بود که جوب نداد .

باید از چه کدی استفاده کنم؟

شما باید ID برگه ساخته‌شده رو به هر نحوی که خودتون میدونید ذخیره کنید (مثلاً از طریق Options API) و بعد با استفاده از فانکشن get_permalink لینک رو به دست بیارید. براتون یه مثل زدم:


$args = array(
// your post args
);
$pageID = wp_insert_post( $args );

if ( $pageID ) {
$permalink = get_permalink( $pageID );
echo $permalink;
} else {
echo 'Page have not created';
}

راهنمایی بیشتری خواستید، در خدمتم.

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...