Respuestas de foro creadas

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • Iniciador del debate Queseo

    (@queseo)

    Hola @kallookoo !

    Disculpa la demora =)

    Por ahora he lanzado una versión beta por si le quieres pegar un ojo
    https://github.com/queseo/ga-ec-posts-wordpress

    El objetivo es hacer seguimiento de clics e impresiones mediante el comercio avanzado de Google Analytics pero en los posts de WordPress.

    Intenté pasar el evento por script pero solo conseguía pasar los datos del último elemento.

    La otra posibilidad que tengo y estoy planteándome es lanzar el evento del clic cuando el usuario llegue a la página aunque no sería la implementación correcta.

    Como por ahora no lo he conseguido, lo he puesto para que los usuarios lo inserten de forma manual. No es la opción más optima pero por algo hay que empezar.

    Tengo también otras cosas que tengo que trabajar como enviar las posiciones de los artículos y tal, pero bueno, poco a poco.

    Creo que poder extraer los elementos más clicados de una lista y poder contrastarlos con las impresiones y conocer el porcentaje de clics es un dato bastante interesante de por sí para webs de noticias y blogs que no tengan funciones de venta.

    Iniciador del debate Queseo

    (@queseo)

    Hola @kallookoo

    El plugin lo estoy desarrollando yo para la comunidad y es lo última parte que me falta.

    Lo tenía implementado en el tema y quise pasarlo a plugin, es por ello que debo insertar el onclick desde fuctions.php con las variables que inserto y por esa misma razón no estoy buscando otro plugin.

    Entiendo lo que dices respecto a que es mejor que me pelee yo con el código y me parece bien tu postura, pero agradecería si pudieras explicar un poco más lo que tratas de decir ya que la documentación me la he machacado.

    Quizá hay algo que no esté viendo yo o que tu consideres que es lo que necesito y realmente no sea así por que ya lo he comprobado antes.

    Voy a volver al punto de tu primera respuesta. Aquí no estoy entendiendo bien lo que me quieres decir. ¿Me sugieres que modifique el filtro de the_title() para incluir en este el código?

    Vamos que si el código origianl es así:

    function the_title( $before = '', $after = '', $echo = true ) {
        $title = get_the_title();
     
        if ( strlen( $title ) == 0 ) {
            return;
        }
     
        $title = $before . $title . $after;
     
        if ( $echo ) {
            echo $title;
        } else {
            return $title;
        }
    }

    Dentro de la función ¿inserte el código del onclick y lo una desde el string tal que así más o menos $title = $before . $title . $after . $variable_Con_El_Onclick; ?

    Lo digo porque esto no distaría mucho de lo que estaba haciendo en el primer paso, de otra forma pero no distaría mucho.

    Iniciador del debate Queseo

    (@queseo)

    Sigo probando con diferentes variaciones, ahora he intentado acceder al DOM con php para tratar de insertar el onclick en los enlaces, pero sigo sin lograrlo.

    
    add_filter("wp_head", "qso_Add_Onclic");
    
    // Formateando contenido para SSL
    function qso_Add_Onclic($content = '') {
      $document = new DOMDocument();
      $document->loadHTML($content);
      
      $tags = $document->getElementsByTagName('a');
      foreach ($tags as $tag) {
        $tag->setAttribute('onclick', "productObject("
    			.the_title().",".
    			the_ID().",".
    			get_the_author_meta('ID').",".
    			//get_the_category()[0]->cat_name.",". 
    			//$qso_etiquetas."','".
    			wp_title() .",".
    			the_permalink().")"
     
        );
      }
      return $document->saveHTML();
    }

    Mmmm creo que lo que debería hacer sería reemplazar la llamada donde se cargan los contenidos en bucle get_template_part( 'content', get_post_format() ); y cargar dentro el script para que agregue el atributo onclick, aunque no logró hacerlo.

    Adjunto esto último aunque tampoco me funciona correctamente:

    
    add_filter("get_template_part", "qso_Add_Onclic");
    
    // Formateando contenido para SSL
    function qso_Add_Onclic($content = '') {
      
      $document = new DOMDocument();
      $document->loadHTML($content);
      
      $tags = $document->getElementsByTagName('a');
      foreach ($tags as $tag) {
        $tag->setAttribute('onclick', "productObject("
    			.the_title().",".
    			the_ID().",".
    			get_the_author_meta('ID').",".
    			//get_the_category()[0]->cat_name.",". 
    			//$qso_etiquetas."','".
    			wp_title() .",".
    			the_permalink().")"
     
        );
      }
      return $document->saveHTML();
    }
    

    Si alguien puede ayudarme de alguna forma a meter un onclick a los enlaces de WordPress mediante el fichero functions se agradecerá =)

    Iniciador del debate Queseo

    (@queseo)

    Lo he resumido todo el código en esto para ver si consiguo hacerlo rular pero nada:

    add_filter("the_title", "qso_Add_Onclic");
    function qso_Add_Onclic()
    {
    	$title = get_the_title();
    	$title = $title . "\" onclick=\"productObject("
    			.$title.",".
    			the_ID().",".
    			get_the_author_meta('ID').",".
    			//get_the_category()[0]->cat_name.",". 
    			//$qso_etiquetas."','".
    			wp_title() .",".
    			the_permalink().")";
    	
    return $title;
    }
    
    Iniciador del debate Queseo

    (@queseo)

    Hola @kallookoo !

    Gracias por tu respuesta =)

    Aun así no entiendo muy bien cómo llegar a modificar esto.

    Entiendo que lo que quieres decir es que modifique la función de the_permalink por the_title que sería algo así:

    add_filter("the_title", "qso_Add_Onclic");
    function qso_Add_Onclic(before,after)

    Si no me equivoco, ¿lo que me quieres decir es que modifique la función insertando el valor en el after?

    ¿Para ello si no me equivoco, tendría que ser algo así?

    add_filter("the_title", "qso_Add_Onclic");
    function qso_Add_Onclic(before,nueva_funcion()){
        $title = get_the_title();
     
        if ( strlen( $title ) == 0 ) {
            return;
        }
     
        $title = $before . $title . $after;
     
        if ( $echo ) {
            echo $title;
        } else {
            return $title;
        }
    }
    nueva_funcion()
    {
    return "" onclick="productObject(".the_title().",".
    		the_ID().",".
    		get_the_author_meta('ID').",".
    		get_the_category()[0]->cat_name.",". 
    		//$qso_etiquetas."','".
    						wp_title() .",".
    						$old_Permalink.")";
    }
    
Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)