Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

130
Visualizações
¿Hay alguna manera de evitar la línea duplicada?

hola en un sitio web de wordpress tengo que enviar cierta cosa a cierto usuario mi código está debajo mi pregunta es cómo evitar esta duplicación de línea de eco

 if (is_user_logged_in() and get_current_user_id() != get_the_author_meta('ID')) { if (in_array('customer', (array) $user->roles)) { if (get_current_user_id() == $authorid) { ?> <i class="fa fa-comments send_designer_msg" designer_id="<?php echo get_the_author_meta("ID"); ?>" logo_number="<?php echo $entryno; ?>" aria-hidden="true"></i> <?php } } else { ?> <i class="fa fa-comments send_designer_msg" designer_id="<?php echo get_the_author_meta("ID"); ?>" logo_number="<?php echo $entryno; ?>" aria-hidden="true"></i> <?php } }

cualquier ayuda gracias

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La lógica condicional es difícil de entender.

Desea mostrar un ícono (basado en fontAwesome) para comentarios, solo disponible para usuarios registrados que cumplan con los siguientes requisitos:

  1. no es el 'diseñador' de esta publicación.
  2. tiene el papel de 'cliente'

No estoy seguro, su lógica condicional está configurada correctamente, ya que parece generar el marcado de comentarios para cualquier usuario que no sea el 'diseñador'... disculpe, pero ¿dónde está la diferencia entre author_id y designer_id?

Una implementación un poco más SECA podría ser este código:

 <?php $current_user_id = get_current_user_id(); $designer_id = get_the_author_meta("ID"); $author_id = '???'; $show_comment_icon = false; if (is_user_logged_in() && $current_user_id != $designer_id ) { // if user has role "customer" if (in_array ('customer', (array)$user->roles)) { // if currently logged in user is the author of the current post? if ( $current_user_id == $author_id) { $show_comment_icon = true; } } else { // if user is not a "customer" $show_comment_icon = true; } // comment icon html template $comment_icon = '<i class="fa fa-comments send_designer_msg" data-designer-id="'.$designer_id.'" data-logo-number="'.$entry_no.'" aria-hidden="true"> </i>'; // output your html if($show_comment_icon){ echo $comment_icon; } } ?>

Aunque este fragmento de código revisado ciertamente falla: algunas recomendaciones para evitar el código duplicado y mejorar la legibilidad en php:

  • elija un concepto de cierre apropiado (al cambiar entre php y html)*
  • separar la 'compilación de datos' y la lógica de la salida
  • inserte comentarios en su código generosamente
  • guardar valores consultados de forma recurrente (p. ej., devueltos por funciones/clases) en variables
  • haga el esfuerzo de revisar su código al final (probablemente nadie lo esté recompensando por este esfuerzo, además de usted mismo, para poder entender su código incluso después de unos años)

encerrando/cambiando entre código php y html Su código es válido. Sin embargo, la legibilidad sufre. Una regla general factible para decidir si usar php-in-html o html-in-php más cerrado es la proporción.

Si hay más procesamiento de php involucrado (condiciones, cálculos, filtrado, etc.), mejor use una variable para definir su salida html.

Si la parte de la plantilla html es predominante, podría usar algo como esto (similar a la propuesta de bucle de wordpress predeterminada):

 <?php if($condition_fullfilled) :?> <p>Condition is fullfilled – there is a lot more html to come!</p> .... (200 lines of html markup) <?php else: ?> <p>Nothing found, matching your conditions</p> <?php endif; ?>
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda