Un usuario pregunt贸 馃憞
Agregu茅 una funci贸n a functions.php, que agrega un evento onclick con etiquetas de imagen en las p谩ginas:
function click_image($insert)
{
if(preg_match('/^(<img)/', $insert))
$insert = str_replace('<img', '<img onclick="PopUp(this)"', $insert);
return $insert;
}
add_filter('media_send_to_editor', 'click_image');
Esto funciona exactamente seg煤n lo previsto … excepto que no funciona en fotos insertadas con subt铆tulos. Aquellos vienen integrados en DIV; No s茅 por qu茅 esto deber铆a marcar la diferencia, pero escrib铆 una segunda funci贸n para solucionarlo:
function click_image_again($insert)
{
if(preg_match('/^(<div.*(<img).*(</div>$)/', $insert))
$insert = str_replace('<img', '<img onclick="PopUp(this)"', $insert);
return $insert;
}
add_filter('media_send_to_editor', 'click_image_again');
… pero esto no hace nada. Pens茅, tal vez como se muestra en el editor no como un DIV, sino como un atajo, lo har铆a de esa manera:
function click_image_again($insert)
{
if(preg_match('/^($)/', $insert))
$insert = str_replace('<img', '<img onclick="PopUp(this)"', $insert);
return $insert;
}
add_filter('media_send_to_editor', 'click_image_again');
De nuevo, nada. Lo 煤nico en lo que puedo pensar es que grit茅 la cuerda de alguna manera, pero no veo qu茅 pasa. 驴Alguien tiene alguna idea?
(@bcworkz)
Hace 1 a帽o, 9 meses
Estoy de acuerdo en que su expresi贸n regular probablemente tiene la culpa. En lugar de perseguirte por esa falla, podr铆as considerar superar esa manejador de atajos para que el HTML deseado resulte desde el principio en lugar de intentar arreglarlo despu茅s del hecho.
Utilice el filtro ‘img_caption_shortcode’ para anular. No importa qu茅 retorno de recuperaci贸n tenga como salida de acceso directo. Esto significa que debe restablecer m谩s o menos lo que hace el controlador de acceso directo para insertar un atributo onclick. Creo que este enfoque ser谩 m谩s confiable y puede tomar prestado del c贸digo fuente original para la mayor parte de lo que necesita hacer su llamada. Dependiendo de sus necesidades, es posible que no se necesiten algunos fragmentos del c贸digo fuente, por lo que su versi贸n puede ser un poco m谩s eficiente.
驴Solucion贸 tu problema??
0 / 0