رفتن به مطلب

استفاده از date picker به صورت زمینه دلخواه


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

سلام دوستان

میخوام یه زمینه دلخواه داشته باشم که کاربر بتونه تاریخ انتخاب کنه

مثال از تاریخ ..... تا تاریخ ...... توسط کاربر انتخاب بشه و زیر پستهاش نمایش داده بشه

لینک به ارسال

ابتدا باید متاباکس ایجاد کنید

و date picker رو اضافه کنید

http://amib.ir/weblog/?page_id=316

لینک به ارسال

من از یک متاباکس استفاده می کنم که date picker اون میلادی هست

چطوری باید عوضش کنم ؟!

اینجا قرار بدم امکانش هست تغییرات رو اعمال کنه کسی یا خیر ؟!

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

دستتون درد نکنه هم بابت راهنمایی هم بابت سایتی که معرفی کردین

مراحل کارو میگم ببینید کجا اشکال داره چون تاریخ ثبت نمیشه

من با این کد متا باکس ایجاد کردم


/*Adding Meta Boxes to Any Posts*/
add_action( 'add_meta_boxes', 'adding_meta_box' );
function adding_meta_box()
{
add_meta_box( 'meta_box_id', 'اعتبار', 'frst_meta_box', 'ad_listing', 'normal', 'high' );
}
function frst_meta_box( $post )
{
$value = get_post_custom( $post->ID );
$text_field = isset( $value['meta_box_text_field_az'] ) ? esc_attr( $value['meta_box_text_field_az'][0] ) : '';
$text_field = isset( $value['meta_box_text_field_ta'] ) ? esc_attr( $value['meta_box_text_field_ta'][0] ) : '';
wp_nonce_field( 'my_meta_box_nonce', 'meta_box_nonce' );
?>
<p>
<label for="meta_box_text_field_az">اعتبار تور از</label>
<input type="text" id="pcal1" class="pdate" name="meta_box_text_field_az" id="meta_box_text_field_az" value="<?php echo $text_field; ?>" />
</p>
<p>
<label for="meta_box_text_field_ta">اعتبار تور تا</label>
<input type="text" id="pcal2" class="pdate" name="meta_box_text_field_ta" id="meta_box_text_field_ta" value="<?php echo $text_field; ?>" />
</p>
<?php
}
add_action( 'save_post', 'saving_meta_box' );
function saving_meta_box( $post_id )
{
if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
if( !isset( $_POST['meta_box_nonce'] ) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'my_meta_box_nonce' ) ) return;
if( !current_user_can( 'edit_post' ) ) return;
$accepted_field = array(
'a' => array('href' => array() )
);
if( isset( $_POST['meta_box_text_field_az'] ) )
update_post_meta( $post_id, 'meta_box_text_field_az', wp_kses( $_POST['meta_box_text_field_az'], $accepted_field ) );
if( isset( $_POST['meta_box_text_field_ta'] ) )
update_post_meta( $post_id, 'meta_box_text_field_ta', wp_kses( $_POST['meta_box_text_field_ta'], $accepted_field ) );
}

این کد هم تو صفحه ای که کاربر مطلب میزاره


<p>
<label for="meta_box_text_field_az">اعتباراز</label>
<input type="text" id="pcal1" class="pdate" name="meta_box_text_field_az" id="meta_box_text_field_az" value="<?php echo $text_field; ?>" />
<label for="meta_box_text_field_ta"> تا</label>
<input type="text" id="pcal2" class="pdate" name="meta_box_text_field_ta" id="meta_box_text_field_ta" value="<?php echo $text_field; ?>" />
</p>
<script type="text/javascript">
var objCal1 = new AMIB.persianCalendar( 'pcal1' );
var objCal2 = new AMIB.persianCalendar( 'pcal2', {
initialDate: '',
}
);


</script>

ولی کاربر تاریخی رو که انتخاب میکنه ثبت نمیشه این عکس رو ببینید

پنل کاربر

وپنل مدیریت

post-1387-0-13030400-1386270093_thumb.jp

post-1387-0-56780600-1386270149_thumb.jp

لینک به ارسال

کد دوم رو کجا استفاده میکنید؟ اون باید ذخیره بشه؟

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

بله کد دوم باید ذخیره بشه ولی نمیدونم چطور؟ :)

لینک به ارسال

کد اولتون رو کجا گذاشتید


$post_id

در کد اول از کجا شناخته می شه

و در کد دوم


<?php echo $text_field; ?>

کجا تعریف شده

کد دومتون باید داخل یک فرم با اکشن صفحه کد اول قرار بگیره و بهتره بعد از آپدیت متا ها صفحه ری دایرکت شه به صفحه فرم

لینک به ارسال

کد اولتون رو کجا گذاشتید


$post_id

در کد اول از کجا شناخته می شه

و در کد دوم


<?php echo $text_field; ?>

کجا تعریف شده

کد دومتون باید داخل یک فرم با اکشن صفحه کد اول قرار بگیره و بهتره بعد از آپدیت متا ها صفحه ری دایرکت شه به صفحه فرم

http://forum.wp-pars..._20#entry112906

برای یه مبتدی خیلی سخته :unsure:

کد اول رو تو فانکشن گذاشتم البته اینبار فکر کنم تکس فیلد رو درست تعریف کردم

الان کد اول به این صورت شد


/*Adding Meta Boxes to Any Posts*/
add_action( 'add_meta_boxes', 'adding_meta_box' );
function adding_meta_box()
{
add_meta_box( 'meta_box_id', 'اعتبار', 'frst_meta_box', 'ad_listing', 'normal', 'high' );
}
function frst_meta_box( $post )
{
$value = get_post_custom( $post->ID );
$text_field_az = isset( $value['meta_box_text_field_az'] ) ? esc_attr( $value['meta_box_text_field_az'][0] ) : '';
$text_field_ta = isset( $value['meta_box_text_field_ta'] ) ? esc_attr( $value['meta_box_text_field_ta'][0] ) : '';
wp_nonce_field( 'my_meta_box_nonce', 'meta_box_nonce' );
?>
<p>
<label for="meta_box_text_field_az">اعتبار از</label>
<input type="text" id="pcal1" class="pdate" name="meta_box_text_field_az" id="meta_box_text_field_az" value="<?php echo $text_field_az; ?>" />
</p>
<p>
<label for="meta_box_text_field_ta">اعتبار تا</label>
<input type="text" id="pcal2" class="pdate" name="meta_box_text_field_ta" id="meta_box_text_field_ta" value="<?php echo $text_field_az; ?>" />
</p>
<?php
}
add_action( 'save_post', 'saving_meta_box' );
function saving_meta_box( $post_id )
{
if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
if( !isset( $_POST['meta_box_nonce'] ) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'my_meta_box_nonce' ) ) return;
if( !current_user_can( 'edit_post' ) ) return;
$accepted_field = array(
'a' => array('href' => array() )
);
if( isset( $_POST['meta_box_text_field_az'] ) )
update_post_meta( $post_id, 'meta_box_text_field_az', wp_kses( $_POST['meta_box_text_field_az'], $accepted_field ) );
if( isset( $_POST['meta_box_text_field_ta'] ) )
update_post_meta( $post_id, 'meta_box_text_field_ta', wp_kses( $_POST['meta_box_text_field_ta'], $accepted_field ) );
}

الان از پنل مدیریت متاباکس رو پر میکنم ذخیره میشه و تو سینگل پیج هم نمایش داده میشه

ولی کد دوم رو نمیدونم چیکار کنم که کاربر وقتی وارد میکنه سیو بشه!

لینک به ارسال

در کجا ذخیره بشه؟

آپشن های اصلی سایت یا متاهای خود کاربر یا متاهای یک مطلب خاص ؟

لینک به ارسال
  • 2 هفته بعد...

در کجا ذخیره بشه؟

آپشن های اصلی سایت یا متاهای خود کاربر یا متاهای یک مطلب خاص ؟

واقعا نتونستم کاری کنم خیلی مطلب خوندم ولی نشد

ببینید میخام این تاریخ توسط هر کاربر که پست میزاره تعیین بشه و اگر یک ماه بعد خواست این تاریخ رو بتونه تغییر بده و ویرایش کنه

وجدانا یه جوری آموزش بدین که بفهمم

آخه یکی بگه من مبتدی رو چه به این کارا :)

لینک به ارسال

تفاوتی ندارد

در هر دو فرم از افزونه گفته شده استفاده کنید

برای ذخیره هر دو فرم چه کاری رو انجام میدهید

به همون روش مقادیر رو ذخیره کنید

کار با متاباکس هم قبلا در انجمن گفته شده است

لینک به ارسال

کد اولتون رو کجا گذاشتید


$post_id

در کد اول از کجا شناخته می شه

و در کد دوم


<?php echo $text_field; ?>

کجا تعریف شده

کد دومتون باید داخل یک فرم با اکشن صفحه کد اول قرار بگیره و بهتره بعد از آپدیت متا ها صفحه ری دایرکت شه به صفحه فرم

http://forum.wp-pars..._20#entry112906

الان کد تو یه فرم گذاشتم با اکشن صفحه اول نمیدونم درست فهمیدم یا نه ولی کار نمیکنه


<form action="saving_meta_box">
<p>
<label for="meta_box_text_field_az">اعتبار از</label>
<input type="text" id="pcal1" class="pdate" name="meta_box_text_field_az" id="meta_box_text_field_az" value="<?php echo $text_field_az; ?>" />
<label for="meta_box_text_field_ta"> تا</label>
<input type="text" id="pcal2" class="pdate" name="meta_box_text_field_ta" id="meta_box_text_field_ta" value="<?php echo $text_field_ta; ?>" />
</p>
<script type="text/javascript">
var objCal1 = new AMIB.persianCalendar( 'pcal1' );
var objCal2 = new AMIB.persianCalendar( 'pcal2', {
initialDate: '',
}
);

</script>
</form>

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

فایل استایل و اسکریپت را در سایت لود میکنید؟

بله لود کردم و همه چی درسته

فقط تنها مشکلم اینه که ذخیره نمیشه

کاربر تاریخ رو انتخاب میکنه ولی تو نوشته ها نمایش داده نمیشه

لینک به ارسال

برای ذخیره که باید بعد از سابمیت فرم در بخشی که دیگر داده‌ها رو ذخیره میکنید از تابع update_post_meta استفاده کنید

برای نمایش کاربر هم get_post_meta

در مورد متاباکس هم قبلا توضیح داده شده است

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

سلام

من از اسکریپت تقویم معرفی شده استفاده کردم

مشکلی هم در ذخیره و نمایش تاریخ ندارم

منتها تاریخی که در سایت (و نه پنل) نشون میده، میلادی هستش

برای شمسی کردنش چه کار میشه کرد؟

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

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

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

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

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

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

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

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

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

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