13 پست در این موضوع قرار دارد

سلام دوستان

من میخوام برای پست ها انقضا بذارم اما افزونه های موجود همشون با wp-parsidate مشکل دارن

توی نت گشتم این کد رو پیدا کردم عالی هستش و میلادی بودنش هم قابل تحمل هست اما مشکل جدیش اینه که سمت کاربر هست

آیا میشه سمت سرور کرد این کد رو !؟


<?php
if (have_posts()) :
while (have_posts()) : the_post(); ?>
$expirationtime = get_post_custom_values('expiration');
if (is_array($expirationtime)) {
$expirestring = implode($expirationtime);
}
$secondsbetween = strtotime($expirestring)-time();
if ( $secondsbetween > 0 ) {
// For example…
the_title();
the_excerpt();
}
endwhile;
endif;
?>

و یا آیا کد بهتری که سمت سرور باشه سراغ دارید یا افزونه ای که با wp-parsidate مشکل نداشته باشه !؟

یه راه حل بهم نشون بدین لطفا

به اشتراک گذاری این پست


لینک به پست

کد php سمت سرور هست

در کد هم داده‌ای مربوط به کاربر نیست

البته کد هم درست نیست

پست رو مخفی میکنه تا اینکه وضعیت رو تغییر بده

تست کنید

http://wordpress.org/plugins/post-auto-expire-control/

http://wordpress.org/plugins/tieexpire-automated-post-expiry/

http://wordpress.org/plugins/post-expirator/

به اشتراک گذاری این پست


لینک به پست

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

به اشتراک گذاری این پست


لینک به پست

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

در PHP توابع خاصی سمت کاربر اجرا میشوند

تابع time هم سمت سرور هست

به اشتراک گذاری این پست


لینک به پست

حالا این کد رو میشه کاری کرد که به جای استفاده از تاریخ میلادی از تاریخ شمسی wp-parsidate استفاده کنه ؟


<?php
if (have_posts()) :
while (have_posts()) : the_post(); ?>
$expirationtime = get_post_custom_values('expiration');
if (is_array($expirationtime)) {
$expirestring = implode($expirationtime);
}
$secondsbetween = strtotime($expirestring)-time();
if ( $secondsbetween > 0 ) {
// For example…
the_title();
the_excerpt();
}
endwhile;
endif;
?>

لطفا اگر میشه شمسی شده ی این کد رو اینجا بنویسید ممنون میشم

به اشتراک گذاری این پست


لینک به پست


<?php
if (have_posts()) :
while (have_posts()) : the_post();
$expirationtime = gregdate("Y-m-d",get_post_custom_values('expiration'));
if (is_array($expirationtime)) {
$expirestring = implode($expirationtime);
}
$secondsbetween = strtotime($expirestring)-time();
if ( $secondsbetween > 0 ) {
// For example…
the_title();
the_excerpt();
}
endwhile;
endif;
?>

مقدار تاریخ دارای چنین قالبی باشد:

1392-05-10

به اشتراک گذاری این پست


لینک به پست

ممنون اما عمل نمیکنه این کد

به اشتراک گذاری این پست


لینک به پست

خط قبل از شرط را به این تغییر دهید


$secondsbetween = strtotime($expirationtime)-time();

به اشتراک گذاری این پست


لینک به پست

کد تست شده است

به اشتراک گذاری این پست


لینک به پست

این آموزش دیدید؟؟

http://wpu.ir/8b30t

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

به اشتراک گذاری این پست


لینک به پست

کد تست شده است

آقا پارسا این اررو رو میده داخل div :


Warning: preg_match_all() expects parameter 2 to be string, array given in /home4/persiafr/public_html/wp-content/plugins/wp-parsidate/lib/parsidate.php on line 240

درستش کردم فدات :wub:

تاپیک بسته شد !

ویرایش شده در توسط ژیهات

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


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

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری