Tipo de publicación personalizada, límite a uno

2

Estoy usando tipos de publicaciones personalizadas para algunas páginas en las que tengo una plantilla muy personalizada ... pero solo necesito una de cada publicación (tal vez no sea la mejor manera de hacerlo ... pero está construida, así que Me gustaría no tener que cambiar esto).

¿Hay alguna forma de eliminar el enlace "Agregar nuevo" en el menú de administración del lado izquierdo solo para que el usuario no siga haciendo más de 1 versión de esta publicación?

Estoy de acuerdo con "Agregar nuevo" dentro de la página real, ya que parece un poco más difícil de encontrar.

    
pregunta redconservatory 08.03.2012 - 20:06

1 respuesta

4

Puede eliminar la página del submenú 'Agregar nuevo' así:

add_action( 'admin_menu', 'myprefix_adjust_the_wp_menu', 999 );
function myprefix_adjust_the_wp_menu() {
  //Get user id
  $current_user = wp_get_current_user();
  $user_id = $current_user->ID;

  //Get number of posts authored by user
  $args = array('post_type' =>'myposttype','author'=>$user_id,'fields'>'ids');
  $count = count(get_posts($args));

  //Conditionally remove link:
  if($count>1)
       $page = remove_submenu_page( 'edit.php?post_type=myposttype', 'post-new.php?post_type=myposttype' );
}

Se puede usar una lógica similar para redireccionar condicionalmente a los usuarios desde la página 'agregar nuevo' si ya han creado una publicación.

Este método también permitiría realizar consultas por estado de publicación (es decir, solo pueden tener como máximo una publicación publicada ).

Por supuesto, lo anterior solo elimina el enlace a la página 'agregar nuevo', en realidad no les impide crear publicaciones. Dependiendo de lo que esté buscando, podría eliminar la capacidad de 'publicar publicación' cuando tengan más de 1 publicación (seguirán viendo el enlace Agregar nuevo y podrían crear borradores pero no podrán publicar ). Si haces esto, deberás volver a agregar la capacidad cuando ellos 'publiquen' su publicación.

    
respondido por el Stephen Harris 08.03.2012 - 20:24

Lea otras preguntas en las etiquetas