Keresés

Új hozzászólás Aktív témák

  • adatfalo

    senior tag

    válasz inf3rno #8949 üzenetére

    Szerintem valami ilyesmire gondolsz:

    function prefix_restrict_users_to_own_posts($wp_query) {
        if (is_admin()) {
            // Meghatározza a jelenlegi felhasználó szerepét
            $user = wp_get_current_user();
            // Ellenőrzi, hogy a felhasználó 'szerző' vagy 'szerkesztő' szerepű-e
            if (in_array('author', (array) $user->roles) || in_array('editor', (array) $user->roles)) {
                // Korlátozza a lekérdezést csak a jelenlegi felhasználó által írt bejegyzésekre
                $wp_query->set('author', $user->ID);
            }
        }
    }
    add_action('pre_get_posts', 'prefix_restrict_users_to_own_posts');

    function prefix_restrict_editing_to_own_posts($caps, $cap, $user_id, $args) {
        // Ellenőrizzük, hogy az 'edit_post' vagy 'delete_post' képességről van-e szó
        if ('edit_post' != $cap && 'delete_post' != $cap) {
            return $caps;
        }
        $post = get_post($args[0]);
        $post_type = get_post_type_object($post->post_type);
        // Ellenőrizzük, hogy a poszt létezik-e és hogy egyedi poszttípus-e
        if (!$post || 'your_custom_post_type' != $post->post_type) {
            return $caps;
        }
        // Ellenőrizzük, hogy a jelenlegi felhasználó a poszt szerzője-e
        if ($user_id != $post->post_author) {
            $caps[] = $post_type->cap->edit_others_posts;
        }     return $caps;
    }
    add_filter('map_meta_cap', 'prefix_restrict_editing_to_own_posts', 10, 4);

Új hozzászólás Aktív témák