• Resuelto ethink1

    (@ethink1)


    Hola,

    Tengo una web con varios custom post types a los que van a acceder varios autores (también podrán escribir en entradas). Lo que necesito es que cada usuario con rol de autor SOLO vea las entradas que crea él mismo y no vea las de los demás autores. Esto es porque uno de los custom post type es una «ficha de socio», entonces ahí tendrá que escribir cada autor sus datos. El resto de autores no deberían poder acceder a esa ficha. ¿Es posible?

    ¡Muchas gracias de antemano!

Viendo 15 respuestas - de la 1 a la 15 (de un total de 19)
  • Moderador almendron

    (@almendron)

    Una duda: ¿Son públicas las fichas de socio?. O dicho de otra forma: ¿podrá verlas un visitante?

    Iniciador del debate ethink1

    (@ethink1)

    Hola Almendron,

    Sí, mediante el elementor y los campos personalizados todos los visitantes de la página verán la información que sea «pública». El resto de información solo lo deberá ver en la parte interna el socio que esté logueado en ese momento. Ningún usuario más que este logueado deberá verla.

    Muchas gracias.

    Moderador almendron

    (@almendron)

    A ver si me explico mejor:

    1. Con el rol de AUTOR solo podrá ver las entradas de los demás, es decir, no puede editarlas.
    2. La ficha de socios: ¿quién la podrá ver? ¿todos, solo logueados o solo el «socio»?

    Si la pueden ver todos, no haría falta que hicieras nada ya que el AUTOR solo podría ver la ficha de socios.

    Si solo la pueden ver los logueados, lo mismo.

    Si solo la puede ver el «socio», lo más sencillo que esa entrada la pongan privada con su correspondiente contraseña.

    Iniciador del debate ethink1

    (@ethink1)

    No, no podría ver ni editar las entradas de los demás, solo le aparecerían las suyas en el backend y éstas sí que podría ver, editar y borrar.

    La ficha de socios (con los campos que yo elegí que fueran visibles) la puede ver todo el mundo.

    Gracias.

    Moderador almendron

    (@almendron)

    Haz una prueba:

    1. Entra a la administración con el rol de AUTOR.
    2. Ve a entradas y selecciona «todos». Aparecerán las entradas de todo el mundo.
    3. Busca una entrada que no sea del AUTOR con el que has entrado y clic en ver. En teoría, debería ver lo mismo que ve un visitante.
    Iniciador del debate ethink1

    (@ethink1)

    Estoy hablando siempre del backend. Yo cuando entro en entradas, veo todas las que hay sean de un autor u otro. Y si clico en la de otro autor veo todos los campos y los puedo editar. La idea es que solo pueda ver lo suyo, no entrar a lo de los demás autores.

    Moderador almendron

    (@almendron)

    Porque entraras como administrador. El que entre como AUTOR solo podrá editar las suyas. Las de los demás, solo podrá verlas como cualquier otro visitante del sitio.

    Iniciador del debate ethink1

    (@ethink1)

    Estoy entrando como autor, y accedo a todos los posts sin restricciones… tengo dos usuarios de autor para ir probando y el de administrador. Entro como autor y veo un post en Entradas que cree con el otro autor así como su ficha de socio (que es un custom post type).

    Moderador almendron

    (@almendron)

    Pues no debería ser así. Cualquier usuario debería poder publicar, actualizar, borrar, etc el CPT de acuerdo a los mismos roles y capacidades que el tipo de post estándar.

    Al crear el CPT: ¿has añadido algún valor al parámetro «capability_type» o «public»?

    Moderador almendron

    (@almendron)

    Dices: «veo un post en Entradas que cree con el otro autor así como su ficha de socio (que es un custom post type).»
    Pero.. ¿lo ves en modo edición o lo ves como cualquier visitante?

    Una cosa es ver la entrada y otra muy distinta que la puedas editar, actualizar o borrar.

    Iniciador del debate ethink1

    (@ethink1)

    Sí, lo que te digo es todo en la parte interna, me deja editar, actualizar y borrar entrada de otro autor.

    Pues es que esto mismo me pasa hasta con las entradas… de todos modos te dejo el código del custom post type… pero ya te digo que escribo una noticia con autor1 y autor2 puede entrar en ese noticia y modificarla y guardarla…

    Estos son los arrays que tengo en el custom post type socios:

    $args = array(
    
    'label'                 => __( 'socio', 'text_domain' ),
    
    'description'           => __( 'Fichas de socio', 'text_domain' ),
    
    'labels'                => $labels,
    
    'supports'              => array( 'title', 'editor', 'author', 'thumbnail', 'custom-fields' ),
    
    'taxonomies'            => array( 'category', 'post_tag' ),
    
    'hierarchical'          => false,
    
    'public'                => true,
    
    'show_ui'               => true,
    
    'show_in_menu'          => true,
    
    'menu_position'         => 5,
    
    'show_in_admin_bar'     => true,
    
    'show_in_nav_menus'     => true,
    
    'can_export'            => true,
    
    'has_archive'           => true,
    
    'exclude_from_search'   => false,
    
    'publicly_queryable'    => true,
    
    'capability_type'       => 'post',
    
    );
    
    register_post_type( 'socios', $args );

    Moderador almendron

    (@almendron)

    Cambia el parámetro «public» a «false».

    Moderador almendron

    (@almendron)

    Dices: «Pues es que esto mismo me pasa hasta con las entradas»
    Eso no es normal. Revisa bien los códigos personalizados que hayas añadido o los ajustes de algún plugin relacionado con el asunto.

    Iniciador del debate ethink1

    (@ethink1)

    Gracias Almeron, cambié public a false y sigo con lo mismo.

    ¿En qué archivo podría ver los permisos? Sí que es cierto que al principio había instalado un plugin tipo user role editor pero lo eliminé, no sé si se quedaría alguna configuración por ahí clavada… 🙁

    Moderador almendron

    (@almendron)

    Los roles estarán definidos en el core de WordPress y los plugins no los modifican. Por so te digo que tienes que tener algún código personalizado en algún sitio que modifica las reglas.

    Prueba a instalar https://es.wordpress.org/plugins/user-role-editor/

Viendo 15 respuestas - de la 1 a la 15 (de un total de 19)
  • El debate ‘Usuario con rol de autor SOLO vea las entradas que crea ese usuario’ está cerrado a nuevas respuestas.