সমাধানটি বোঝায় যে আপনি "সাধারণ" পোস্ট প্রকারের (পোস্ট, পৃষ্ঠা) সম্পাদনা অক্ষম করেছেন disabled
এটা না হিসাবে হার্ড হিসাবে আপনি বিশ্বাস করতে পারে। কী হয় ব্যবহারকারী লগইন নাম । একইভাবে ট্যাক্সোনমি বা শর্তাদি দিয়েও করা যেতে পারে।
নিম্নলিখিতটি দেখুন (একটি প্রশ্নেরও উদাহরণ রয়েছে):
// 1st: Add a post type for that user with it's
// user login & according capabilities
function create_user_home() {
global $current_user;
get_currentuserinfo();
register_post_type(
'home_of_'.$current_user->user_login,
array(
'public' => true,
'capability_type' => $current_user->user_login,
'capabilities' => array(
'publish_posts' => 'publish_'.$current_user->user_login,
'edit_posts' => 'edit_'.$current_user->user_login,
'edit_others_posts' => 'edit_'.$current_user->user_login,
'delete_posts' => 'delete_'.$current_user->user_login,
'delete_others_posts' => 'delete_others_'.$current_user->user_login,
'read_private_posts' => 'read_private_'.$current_user->user_login,
'edit_post' => 'edit_'.$current_user->user_login,
'delete_post' => 'delete_'.$current_user->user_login,
'read_post' => 'read_'.$current_user->user_login,
),
)
);
}
add_action( 'init', 'create_user_home' );
// A query could be done like this:
wp_reset_query(); // to be sure
global $wp_query, $current_user;
get_currentuserinfo();
$query_user_home = new WP_Query( array(
,'order' => 'ASC'
,'post_type' => 'home_of_'.$current_user->user_login
,'post_status' => 'publish'
) );
if ( $query_user_home->have_posts() ) :
while ( $query_user_home->have_posts() ) : $query_user_home->the_post();
// check for password
if ( post_password_required() ) :
the_content();
elseif ( !current_user_can('') ) :
// display some decent message here
return;
else :
// here goes your content
endif;
endwhile;
else : // else; no posts
printf(__( 'Nothing from Mr./Mrs. %1$s so far.', TEXTDOMAIN ), $current_user->user_firstname.' '.$current_user->user_lastname);
endif; // endif; have_posts();
wp_rewind_posts(); // for a sec. query
ট্যাক্সনোমির সাহায্যে এটি আরও তাত্পর্যপূর্ণ হবে, কারণ আপনি কেবলমাত্র এই পোস্টগুলিকেই জিজ্ঞাসা করতে পারেন যেগুলি এই ব্যবহারকারীদের ট্যাক্সনোমির শর্তাবলী সহ ট্যাগ করা আছে, তবে এটির জন্য ব্যবহারকারীর কর সংক্রান্ত শর্তাদির সাথে একটি পোস্ট মেটা বাক্সের প্রয়োজন হবে। শর্তটি একই হবে: ব্যবহারকারীর লগইন নাম এবং আপনি কেবল বিভাগটি যুক্ত করবেন:
function create_user_tax() {
if ( current_user_can("$current_user->user_login") ) :
global $current_user;
get_currentuserinfo();
$singular = $current_user->user_login;
$plural = $singular.'\'s';
// labels
$labels = array (
'name' => $plural
,'singular_name'=> $singular
);
// args
$args = array (
'public' => true
,'show_in_nav_menus' => true
,'show_ui' => true
,'query_var' => true
,'labels' => $labels
,'capabilities' => array(
'manage_'.$current_user->user_login
)
);
// Register
register_taxonomy (
$current_user->user_login
,array ( 'post', 'page' )
,$args
);
// Add to post type
// you can even add your current user post type here
register_taxonomy_for_object_type (
$current_user->user_login
,array ( 'post', 'page', 'home_of_'.$current_user->user_login )
);
endif;
}
add_action( 'init', 'create_user_tax' );
সক্ষমতা পরীক্ষার স্থান (কারেন্ট_উজার_কেন) অন্য কোথাও হতে পারে। আপনার নির্দিষ্ট প্রয়োজনের উপর নির্ভর করে। কেবল এটি নিশ্চিত করার জন্য: কোনও সমাধানে যাওয়ার পথে আপনাকে গাইড করার জন্য এটি উদাহরণ। আশা করি যে সাহায্য করবে :)