مهدی 1668 ارسال شده در آذر 94 گزارش بازنشر ارسال شده در آذر 94 سلاممن یه پست تایپ درست کردم برای نمونه کار و برای اون تواناییهایی هم تعریف کردم و بر اساس توانیها یک نقش هم تعریف کردم.مشکل اینجاست که کاربر الف می تونه نمونهکار های کاربر ب رو ویرایش کنه یعنی در صفحه نمایش همه نمونهکارها روی نمونه کارهای دیگران که میره قسمت ویرایش و انتقال به زبالهدان و ویرایش سریع ظاهر میشهکد مورد نظر رو قرار میدم، ممنون میشم دوستان مشکل این کد رو برطرف کنندfunction itl_add_portfolios() { $labels = array( 'name' => __( 'Portfolios', 'itl' ), 'singular_name' => __( 'Portfolio', 'itl' ), 'add_new' => __( 'Add New', 'itl' ), 'add_new_item' => __( 'Add New Portfolio', 'itl' ), 'edit_item' => __( 'Edit Portfolio', 'itl' ), 'new_item' => __( 'New Portfolio', 'itl' ), 'view_item' => __( 'View Portfolio', 'itl' ), 'search_items' => __( 'Search Portfolios', 'itl' ), 'not_found' => __( 'No Portfolios found', 'itl' ), 'not_found_in_trash' => __( 'No Portfolios found in Trash', 'itl' ) ); $capabilities = array( 'read_post' => 'read_portfolio', 'edit_post' => 'edit_portfolio', 'delete_post' => 'delete_portfolio', 'edit_posts' => 'edit_portfolios', 'publish_posts' => 'publish_portfolios', 'edit_others_posts' => 'edit_others_portfolios', 'edit_published_posts' => 'edit_published_portfolios', 'delete_others_posts' => 'delete_others_portfolios', 'delete_published_posts' => 'delete_published_portfolios', 'read_private_posts' => 'read_private_portfolios', 'delete_private_posts' => 'delete_private_portfolios', 'create_posts' => 'edit_portfolios', ); $args = array( 'labels' => $labels, 'capabilities' => $capabilities, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'portfolio' ), 'capability_type' => 'portfolio', 'taxonomies' => true, 'has_archive' => true, 'hierarchical' => false, 'menu_icon' => 'dashicons-admin-customizer', 'menu_position' => 7, 'taxonomies' => array( 'illustrator' ), 'supports' => array( 'title', 'editor', 'thumbnail', 'comments' ) ); register_post_type( 'portfolio', $args ); add_role( 'illustrator', __( 'illustrator', 'itl' ), array ( 'read' => true, 'edit_posts' => true, 'upload_files' => true, 'read_portfolio' => true, 'edit_portfolio' => true, 'delete_portfolio' => true, 'edit_portfolios' => true, 'publish_portfolios' => true, 'edit_others_portfolios' => false, 'edit_published_portfolios' => false, 'delete_others_portfolios' => false, 'delete_published_portfolios' => false, 'read_private_portfolios' => false ) );}add_action( 'init', 'itl_add_portfolios' ); نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در آذر 94 گزارش بازنشر ارسال شده در آذر 94 نیازی به این کارها نبود دسترسی ثبت نام شدگان را بگذارید مشارکت کننده و capability_type را هم بگذارید post و capabilities را حذف کنید 2 نقل قول لینک به ارسال
مهدی 1668 ارسال شده در آذر 94 مالک گزارش بازنشر ارسال شده در آذر 94 ممنون از پاسختونممنون ولی در حالتی که شما گفتید دیگه خود طرف نمیتونه نمونه کارهاش رو مستقیم منتشر کنهلازم کاربری که نقش illustrator داره بتونه خودش بدون نیاز به تایید نمونه کارش رو منتشر بکنه نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در آذر 94 گزارش بازنشر ارسال شده در آذر 94 خوب تو تعریف illustrator تمام مقادیر رو برای post بگذارید و کاری که قبلا عرض شد را بکنید و دسترسی ثبت نام شدگان را بگذارید illustrator شما کلا دو تا تعریف اصلی برای capability_type دارید post و page برای تعاریف دیگه مثل portfolio اول باید capability_type براش تعزیف بشه و بعدش role برای تعریف capability_type هم باید level بهش اختصاص بدید و باز موقع انتصابها به مشکل می خورید. 1 نقل قول لینک به ارسال
مهدی 1668 ارسال شده در آذر 94 مالک گزارش بازنشر ارسال شده در آذر 94 بازم تشکر از جوابتوناما حقیقتش دقیق متوجه منظورتون نشدمجواب سوال هم کد زیر هست، که نوشته نشده بود'map_meta_cap' => trueبازم ممنون (: نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .