رفتن به مطلب

ساخت پنل کاریری برای کاربران سایت


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

سلام دوستان

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

البته عنوان تاپیک چیز دیگه ای بود چون بحث منحرف شد این تاپیک را زدم

برای ساخت صفحه از این کد استفاده کردم


<?php
global $user_ID, $user_identity, $user_level, $user_email, $user_login, $user_info, $user_first_name, $user_last_name, $user_url;
if (is_user_logged_in()) : ?>
<table style="width: 100%">
<caption>وضعیت ارسال های شما </caption>
<tr>
<th style="width: 400px">نام مطلب</th>
<th style="width: 100px">وضعیت</th>
<th style="width: 80px">تاریخ </th>
<th>توضیحات </th>
</tr>
<?php $recent = new WP_Query("post_status=publish, trash, future, pending&author=$user_ID&showposts=5");if ($recent->have_posts()) :?>
<?php while($recent->have_posts()) : $recent->the_post();?>
<tr>
<?php
if ( get_post_status ( $ID ) == 'publish' )
{?>
<td class="pub"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></td>
<td class="pub"> منتشر شده</td>
<td class="pub"><?php the_date('y/m/d');?></td>
<td class="pub"><?php if (current_user_can('edit_post', $post->ID)): ?><?php edit_post_link('ویرایش', ''); ?><?php endif; ?> </td>
<?php }
else
if ( get_post_status ( $ID ) == 'pending' )
{?>
<td class="pen"><?php the_title(); ?></td>
<td class="pen">در انتظار بررسی</td>
<td class="pen"><?php the_date('y/m/d');?></td>
<td class="pen"><?php if (current_user_can('edit_post', $post->ID)): ?><?php edit_post_link('ویرایش', ''); ?><?php endif; ?> </td>
<?php }
else
if ( get_post_status ( $ID ) == 'future' )
{?>
<td class="fut"><?php the_title(); ?></td>
<td class="fut">زمانبندی برای نشر</td>
<td class="fut"><?php the_date('y/m/d');?></td>
<td class="fut"><?php if (current_user_can('edit_post', $post->ID)): ?><?php edit_post_link('ویرایش', ''); ?><?php endif; ?></td>
<?php }
else
{?>
<td class="tra"><?php the_title(); ?></td>
<td class="tra">حذف شده</td>
<td class="tra"><?php the_date('y/m/d');?></td>
<td class="tra"><?php $tozih = get_post_meta($post->ID, 'tozih', true); ?><?php echo $tozih; ?></td>
<?php }
?>
</tr>
<?php endwhile;?>
<?php endif;?>
<?php wp_reset_query(); ?>
<tr>
<td style="width: 400px">نام مطلب</td>
<td style="width: 100px">تاریخ </td>
<td style="width: 80px">وضعیت </td>
<td>توضیحات </td>
</tr>
</table>
<style type="text/css">
.pub {
background:#CCFFCC
}
.pen {
background:#CCCCFF
}
.fut {
background:#66CCFF
}
.tra {
background:#FFCCFF
}
</style>
<?php else : ?>
<h2>برای مشاهده این صفحه باید وارد حساب کاربری خود شده باشید</h2>
<?php wp_login_form(); ?>

<?php endif;?>

حالا من میخوام یه استاتوس دیگه تعریف کنم برای مطالبی که تایید نمیشه با توجه به این آموزش

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

واین که این کد را در فانکشن قالب اضافه کنم یا فانکشن وردپرس؟


// Register Custom Status
function custom_post_status() {
$args = array(
'label' => _x( 'void', 'Status General Name', 'text_domain' ),
'label_count' => _n_noop( 'Void (%s)', 'Void (%s)', 'text_domain' ),
'public' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'exclude_from_search' => false,
);
register_post_status( 'void', $args );
}
// Hook into the 'init' action
add_action( 'init', 'custom_post_status', 0 );

لینک به ارسال

کدتون درسته و به فانکشن قالبتون باید اضافه بشه

فقط اگر می خواهید در پنل کاربریتون نمایشش بدید مقدار public را از false به true تغییر بدید

لینک به ارسال

کدتون درسته و به فانکشن قالبتون باید اضافه بشه

فقط اگر می خواهید در پنل کاربریتون نمایشش بدید مقدار public را از false به true تغییر بدید

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

یعنی تو قسمت وضعیت فقط/ برای بازبینی / منتشر شده و پیش نویس قرار داره

لینک به ارسال
کدتون درسته و به فانکشن قالبتون باید اضافه بشه فقط اگر می خواهید در پنل کاربریتون نمایشش بدید مقدار public را از false به true تغییر بدید

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

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

post-1387-0-49594800-1373124842_thumb.jp

لینک به ارسال

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

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

برای چیزی که می خواهیدذ باید moderation_status را ریجستری کنید این فایل را دانلود کنید و اینکلود کنید روی فانکشنز قالب ببینید جواب می ده یا نه

https://core.trac.wordpress.org/attachment/ticket/12706/custom-status-helper_1.0.zip

لینک به ارسال

این افزونه مشکلتون رو برطرف می کنه

http://wordpress.org/plugins/custom-status/

post-336-0-71978100-1373197788_thumb.gif

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

لینک به ارسال

برای چیزی که می خواهیدذ باید moderation_status را ریجستری کنید این فایل را دانلود کنید و اینکلود کنید روی فانکشنز قالب ببینید جواب می ده یا نه

https://core.trac.wo...-helper_1.0.zip

فایل را در پوشه includes آپلود کردم و با این کد فراخوانی کردم


include_once (TEMPLATEPATH . '/includes/custom-status-helper.php');

ولی چیزی اضافه نشد

ولی افزونه کاملا چیزی هست که میخوام

دستتون درد نکنه

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

این افزونه مشکلتون رو برطرف می کنه

http://wordpress.org.../custom-status/

post-336-0-71978100-1373197788_thumb.gif

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

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

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

آیا میشه کاری کرد که بعد از ویرایش وضعییت از حالت انتشار خارج بشه و به یکی از وضعییتهای در انتضار یا پیشنویس تغییر کنه ؟

ممنون

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

آقای فخار عزیز یا دوستان دیگه

اگه در این مورد میتونن راهنمایی بفرمایید ممنون میشم

لینک به ارسال

صفحه را با چه کدی ایجاد کردید کد را بگذارید

آقا ایمان کدها طولانی بود برای همین پیوست کردم

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

ممنون

edit-post.php

لینک به ارسال

میدونم مبتدی مثل من زیاده و تعداد سوالات بالا هست و کاربر حرفه ای به نسبت کم

آقا ایمان عزیز هم سرشون واقعا شلوغه

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

لینک به ارسال

تعریف publish در این فایل انجام نشده احتمالا در functions.php باید تعریف شده باشه که submit شدن فرم باعث publish بشه در هرجا چنین تعریفی هست publish را به pending تبدیل کنید

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


if ( isset( $_POST['submit'] ) && current_user_can( 'publish_posts' ) )
$post['post_status'] = 'publish';

که باید بشه


if ( isset( $_POST['submit'] ) && current_user_can( 'publish_posts' ) )
$post['post_status'] = 'pending';

لینک به ارسال

اگر نبود کد دوم را قبل از


if((!empty($_POST['submit'])) && current_user_can('edit_posts')) {

در خط 26 بگذارید و تست بگیرید

لینک به ارسال

تعریف publish در این فایل انجام نشده احتمالا در functions.php باید تعریف شده باشه که submit شدن فرم باعث publish بشه در هرجا چنین تعریفی هست publish را به pending تبدیل کنید

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


if ( isset( $_POST['submit'] ) && current_user_can( 'publish_posts' ) )
$post['post_status'] = 'publish';

که باید بشه


if ( isset( $_POST['submit'] ) && current_user_can( 'publish_posts' ) )
$post['post_status'] = 'pending';

publish را در تمام پوسته سرچ کردم ولی چنین کدی که مربوط به SUBMIT بشه پیدا نکردم

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


if ( isset( $_POST['submit'] ) && current_user_can( 'publish_posts' ) )
$post['post_status'] = 'pending';

if((!empty($_POST['submit'])) && current_user_can('edit_posts')) {

// delete any images checked
if (!empty($_POST['image']))
cp_delete_image();
// update the image alt text
if (!empty($_POST['attachments']))
cp_update_alt_text();

ولی این ارور را داد

Fatal error: Cannot use object of type WP_Post as array

تو خط 27

یعنی این


$post['post_status'] = 'pending';

لینک به ارسال

این رو هم قبلش اضافه کنید اگر باز هم ارور دئاد بگید


$post = get_default_post_to_edit();
$post = get_object_vars($post);

لینک به ارسال

این رو هم قبلش اضافه کنید اگر باز هم ارور دئاد بگید


$post = get_default_post_to_edit();
$post = get_object_vars($post);

بعد از اضافه کردن موقع ورود به صفحه ادیت این ارور داد

Fatal error: Call to undefined function get_default_post_to_edit()

اینو حذف کردم


$post = get_default_post_to_edit();

ارور برطرف شد به روز رسانی هم بدون ارور انجام شد ولی وضعییت تغییر نکرد

لینک به ارسال

باید براسش تابع نوشت فرم شما از توابع اصلی خونده نمی شه و نوشتن تابع زمان بره اگر تونستم می نویسم

می تونید با بررسی فایل press-this.php در مسیر پوشه wp-admin خودتون هم اینکار را بکنید

لینک به ارسال

باید براسش تابع نوشت فرم شما از توابع اصلی خونده نمی شه و نوشتن تابع زمان بره اگر تونستم می نویسم

می تونید با بررسی فایل press-this.php در مسیر پوشه wp-admin خودتون هم اینکار را بکنید

بسیار بسیار ممنونم از راهنمایی هاتون چه وقت بکنید چه نکنید

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

خودم هم که نمیتونم چون در این مورد هیچ اطلاعاتی ندارم مگر اینکه بگین چه کاری انجام بدم

لینک به ارسال

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

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

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

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

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

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

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

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

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