Veo dónde puedo cambiar el texto del enlace en sí cuando se selecciona la opción ‘Enlace a comentarios sin mostrarlos’, pero ¿hay alguna forma de añadir texto/html encima/debajo de este enlace? Algo así como el filtro discourse_replies_html pero para alterar lo que hay dentro del div .wpdc-join-discussion y dónde iría el enlace Unirse a la discusión allí.
Hola Kayla, actualmente no hay ningún filtro ni plantilla para cambiar el HTML en el div wpdc-join-discussion. ¿Podrías compartir el resultado deseado, es decir, con qué HTML te gustaría terminar? Veré si puedo añadir un filtro para soportar tu caso de uso (y quizás el de otros).
Hola Angus:
El caso de uso es para el mismo sitio web que
así que hay comentarios privados de Discourse junto con los comentarios públicos de Wordpress en un sitio que utiliza un tema clásico. Me gustaría poder añadir un encabezado y una explicación textual antes del enlace “Únete a la discusión” para dar contexto/mejorar la experiencia del usuario. Puedo simularlo visualmente con un área de widget theme-default que aparece después de la entrada de la publicación y un montón de CSS, pero no es ideal en cuanto a la estructura del documento (en este caso, el widget se detecta como parte del artículo en la vista/modo lector, mientras que el div .wpdc-join-discussion real no lo hace). Podría crear una nueva área de widget que se sitúe fuera de la capa del artículo, pero esta personalización pertenece lógicamente dentro del div .wpdc-join-discussion junto con el enlace “Únete a la discusión”.
Ok, gracias, consideraré dar soporte a este caso de uso en la próxima versión.
¡Gracias por la consideración! Preferiría un tipo de solución abierta como discourse_replies_html para tener la flexibilidad de agregar un “contenedor” interno dentro de .wpdc-join-discussion o cualquier otra cosa que se necesite en el futuro. Espero que eso también lo mantenga simple desde el punto de vista del desarrollo de plugins (sin nuevas configuraciones de interfaz de administración).
@Kayla Pronto será hora de lanzar otra versión del plugin y quiero asegurarme de que estoy cubriendo tu caso. Estoy pensando en añadir un filtro wpdc_join_discussion_link_html aquí
$link_html = '<div class="wpdc-join-discussion"><a class="wpdc-join-discussion-link" href="' . esc_url_raw( $discourse_permalink ) . '"' . $new_tab . '>' . esc_html( $link_text ) . '</a></div>';
$link_html = apply_filters( 'wpdc_join_discussion_link_html', $link_html, $comments_count, $post_id );
return $link_html;
Esto cumpliría la misma función que el filtro discourse_replies_html, pero para el HTML del enlace.
¿Te funciona?
Sí, creo que sí. Solo para estar seguro, porque mi conocimiento de PHP es solo el nivel de tomar un patrón/ejemplo y seguir con él, ¿podría usar este filtro así?
function custom_discussion_link( $input ) {
ob_start();
?>
<div class="wpdc-join-discussion">
<div class="custom-wrapper-div">
<h3>Encabezado</h3>
<p>Explicación/contexto yada yada.</p>
<?php echo '<a class="wpdc-join-discussion-link" href="' . esc_url_raw( $discourse_permalink ) . '"' . $new_tab . '>' . esc_html( $link_text ) . '</a>'; ?>
</div>
</div>
<?php
$link_html = ob_get_clean();
return $link_html;
}
add_filter( 'wpdc_join_discussion_link_html', 'custom_discussion_link' );
Espero que no esté muy ridículamente equivocado. ![]()
Ok, así que creo que tendré que asegurarme de que tienes las variables que estás interpolando allí, lo que tiene sentido para este filtro, es decir,
apply_filters( 'wpdc_join_discussion_link_html', $link_html, $discourse_permalink, $new_tab, $link_text )
Que luego usarías así (ten en cuenta el número de argumentos)
function custom_discussion_link( $link_html, $discourse_permalink, $new_tab, $link_text) {
ob_start();
?>
<div class="wpdc-join-discussion">
<div class="custom-wrapper-div">
<h3>Encabezado</h3>
<p>Explicación/contexto yada yada.</p>
<?php echo '<a class="wpdc-join-discussion-link" href="' . esc_url_raw( $discourse_permalink ) . '"' . $new_tab . '>' . esc_html( $link_text ) . '</a>'; ?>
</div>
</div>
<?php
$link_html = ob_get_clean();
return $link_html;
}
add_filter( 'wpdc_join_discussion_link_html', 'custom_discussion_link', 10, 4 );
Ese nuevo filtro estará en la próxima versión. Habrá un ligero retraso en el lanzamiento debido a algunos problemas logísticos, por lo que la próxima versión llegará a principios de octubre.
¡Muchas gracias! Estaré atento al próximo lanzamiento. ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.