I have a custom post type named project
which has
'capability_type' => 'post'
while registering using register_post_type
.
In my theme files and also functions.php
file, I have situations where I should check if the project to be edited is authored by the user or not.
So I use this:
if ( !current_user_can( 'edit_post', $porject_id ) ) return;
where $project_id
is post id of the project to be edited.
For example I have a page template named single_project.php
where I can show single posts in project post type to users and I want these people can see each project single page:
- administrators
- editors
- the contributercontributor (post author)
but using the above code, It is ok with administrators and editors, while not for the contributercontributor himself!
When I use:
var_dump( current_user_can( 'edit_post', $project_id ) )
var_dump( current_user_can( 'edit_post', $project_id ) );
with the contributercontributor logged-in account, it returns
false
false
, while this:
var_dump( current_user_can( 'edit_posts' ) )` (with trailing `'s'`)
var_dump( current_user_can( 'edit_posts' ) ); // (with trailing 's')
returns true
(but for every post, not just does for him).
true (but for every post, not just does for him).
Any help with this?