Calificaciones Falsas para kk Star Ratings en WordPress

  • Autor Autor Cicklow
  • Fecha de inicio Fecha de inicio
Sólo tengo una duda, si quiero para páginas y pará post, tengo que crear dos archivos?
No, en la configuaración de kk star tienes la posibilidad de mostar post, páginas o ambos.
 
Gracias por compartirlo!!
 
Sólo tengo una duda, si quiero para páginas y pará post, tengo que crear dos archivos?
Tienes que cambiar post_type = 'post' a post_type = 'page' ya depende de ti si quieres 2 archivos o editar el mismo!
 
Hola, probé de nuevo el código y creo que con la nueva actualización de kk Star Ratings 4.2.0 ya no funciona.

Algunos le funciona todavía el código para agregar automáticamente las puntuaciones? 🤔🤔
 
Sigue funcionando actualmente?
 
Yo estoy probando a ejecutarlo en una tienda y urls del tipo "web .com/producto/nombredelproducto/" no me funcionó, se queda en blanco... supongo que sólo está pensado para posts y páginas, la cuestión sería dónde se añade ese /producto/

Sugerencias?
 
Hola, este addon es para el plugin kk Star Ratings, el cual permite colocar las estrellas de calificación en el WP y en las búsquedas de google... lo instale en uno de mis blogs por recomendación de un usuario del foro, el tema que vi que los visitantes colocaban bajas puntuaciones en los post, cuando el post era completamente informativo o realmente servia, y eso era reflejado en google...

Por lo que fabrique este script el cual crea fake calificaciones a los post! El codigo se puede mejorar, lo arme rapidito para usarlo... y funciono de 10, asique ahi quedo...

Crean un archivo de nombre que quieran lo suben a al wp (en la raiz, osea donde esta wp-config.php de su wp)... luego lo ejecutan desde el navegador:
PHP:
<?php
    set_time_limit(0);
    include('./wp-config.php');

    $Posts = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = 'post' && post_status = 'publish'");
    foreach ($Posts as $post){
               muchos($post->ID,$post->post_title);
    }

    function muchos($id,$txt){
        $total = mt_rand(100,500);    //Cantidad de votos
        $_stars = mt_rand(4,5);        //Cantidad de estrellas. del 1 al 5

        kksr_all_post($id,$_stars,$total);
        echo "[".$txt."] Total: +".$total."<br/>";
    }

        function kksr_all_post($pid,$stars,$cantu)
        {
            $total_stars = 5;

            $ratings = get_post_meta($pid, '_kksr_ratings', true) ? get_post_meta($pid, '_kksr_ratings', true) : 0;
            $casts = get_post_meta($pid, '_kksr_casts', true) ? get_post_meta($pid, '_kksr_casts', true) : 0;

            $nratings = $ratings + ($cantu * $stars);
            $ncasts = $casts + $cantu;
            $avg = $nratings && $ncasts ? number_format((float)($nratings/$ncasts), 2, '.', '') : 0;
            $per = $nratings && $ncasts ? number_format((float)((($nratings/$ncasts)/5)*100), 2, '.', '') : 0;

            if($stars)
            {
        $ip = "127.0.0.".mt_rand(0,100);
                $Ips = get_post_meta($pid, '_kksr_ips', true) ? unserialize(base64_decode(get_post_meta($pid, '_kksr_ips', true))) : array();
                if(!in_array($ip, $Ips))
                {
                    $Ips[] = $ip;
                }
                $ips = base64_encode(serialize($Ips));
                update_post_meta($pid, '_kksr_ratings', $nratings);
                update_post_meta($pid, '_kksr_casts', $ncasts);
                update_post_meta($pid, '_kksr_ips', $ips);
                update_post_meta($pid, '_kksr_avg', $avg);

                do_action('kksr_rate', $pid, $stars, $ip);
            }
        }
El codigo obtiene los post y le asigna calificaciones con puntuaciones del 3 a 5...
PHP:
 $_stars = mt_rand(3,5);
Cambiar eso si quieren que sean mas o menos... no mas de 5 y no menos de 1.

Luego le simula X cantidad de usuarios votando...de entre 100 a 500... cambiar en:
PHP:
$total = mt_rand(100,500);

Dejando en google asi:
sin-t-tulo-55925ef.png


Sirve para cualquier WP que tenga instalado ese plugin, lo pueden ejecutar las veces que quieran, los votos se van acumulando... No se permite comercializar con el!...pero si usarlo y modificarlo a gusto y placer!

Código Actualizado al 08/01/2019


Para colocar estrellas a paginas solo tienen que cambiar la consulta por
PHP:
 $Posts = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = 'page' && post_status = 'publish'");
Excelente, Gracias.
 
Sé que el tema es viejo, pero, ¿no sería más fácil crear un schema de puntuaciones con los valores que tu quieras?

Google no puede ni tiene manera de saber si las votaciones de un artículo son reales (incluso si son de una misma IP o no), ese dato estructurado es puramente informativo y no lo decide el buscador, sino la web.
 
Sé que el tema es viejo, pero, ¿no sería más fácil crear un schema de puntuaciones con los valores que tu quieras?

Google no puede ni tiene manera de saber si las votaciones de un artículo son reales (incluso si son de una misma IP o no), ese dato estructurado es puramente informativo y no lo decide el buscador, sino la web.
si, puedes hacerlo a mano, ves en google webmaster como es la estructura y los creas bien fake
 
si, puedes hacerlo a mano, ves en google webmaster como es la estructura y los creas bien fake
El problema de mis post es que tienen pocas puntaciones, este me serviría bastante para darle un empuje, @Cicklow , en abril de 2022, este código sigue funcionando?, soy súper novato en estos temas, me confirmas por favor.
 
El problema de mis post es que tienen pocas puntaciones, este me serviría bastante para darle un empuje, @Cicklow , en abril de 2022, este código sigue funcionando?, soy súper novato en estos temas, me confirmas por favor.
si aun continua funcionando. el plugin en algunos themes da lata que no se ven bien las estrellas, pero internamente google las reconoce.
 
si aun continua funcionando
1652052508413.png


Lo que hice fue crear un archivo kk-star.php, lo subí a la raíz de mi web donde se encuentra el wp-config.php, esta parte de ejecturar desde el navegador no me quedó claro, ya que sigue igual que al principio, me podrías dar una manito...

El theme que uso es NewsPaper de TagDiv
 
Ver el archivo adjunto 750221

Lo que hice fue crear un archivo kk-star.php, lo subí a la raíz de mi web donde se encuentra el wp-config.php, esta parte de ejecturar desde el navegador no me quedó claro, ya que sigue igual que al principio, me podrías dar una manito...

El theme que uso es NewsPaper de TagDiv
digamos que tu web es ejemplo.com, accedes desde el navegador a ejemplo.com/kk-star.php
 
@Cicklow, una consulta, veo que los nuevos post creados comienzan desde 0, y si refresco nuevamente el archivo php, se resetea todo y cambian de números, que debo de hacer para que no se reseteen las calificaciones.
 
Muy interesante esta información. Lo probare más adelante para futuros proyectos.
 
Gracias por compartirlo, me ha animado a ponerle estrellitas a mis entradas, antes no me llamaba mucho la atención hacer eso
 
Gracias por compartirlo, me ha animado a ponerle estrellitas a mis entradas, antes no me llamaba mucho la atención hacer eso
Me están gustando los resultados, mis visitas han aumentado y también la confianza de los visitantes, ya que al ver que hay buena calificación por parte de los lectores ingresan y se quedan mayor tiempo, el rebote ha disminuído, y por mi parte me he dedicado a mejorar mis entradas para que puedan entenderlo mucho mejor, anímate y verás los resultados en un par de semanas, pero el tema es que las nuevas entradas se quedan en cero.
1654528827861.webp
 
@Cicklow que valores tengo que poner si uso el código schema json directo?
 
@Cicklow, una consulta, veo que los nuevos post creados comienzan desde 0, y si refresco nuevamente el archivo php, se resetea todo y cambian de números, que debo de hacer para que no se reseteen las calificaciones.
los post nuevos siempre inician en cero. tenes que ejecutar el script para que tengan votos. en cuanto a los demas post se modifican porque edita todos las estrellas de cada post de nuevo. pero esto se puede modificar para que no haga eso.
busca:
PHP:
kksr_all_post($id,$_stars,$total);
       echo "[".$txt."] Total: +".$total."<br/>";
y cambias por:
PHP:
$ver_k = kksr_all_post($id,$_stars,$total,intval($_GET['todos']));
        if($ver_k != 1) echo "[".$txt."] Total: +".$total."<br/>";
y
PHP:
function kksr_all_post($pid,$stars,$cantu)
por
PHP:
function kksr_all_post($pid,$stars,$cantu,$viejos=1)
y por ultimo
PHP:
            $ratings = get_post_meta($pid, '_kksr_ratings', true) ? get_post_meta($pid, '_kksr_ratings', true) : 0;
y lo cambias por
PHP:
            $ratings = get_post_meta($pid, '_kksr_ratings', true) ? get_post_meta($pid, '_kksr_ratings', true) : 0;
if(intval($ratings)>0 && $viejos==0){ return "1"; }

lo que haces aca es que si le pasas la variable todos=1 por la url, le pone las estrellas a todos los post... de lo contrario, solo a los nuevos (ejemplo miweb.com/script.php?todos=1)

el codigo completo quedaria:
PHP:
<?php
    set_time_limit(0);
    include('./wp-config.php');

    $Posts = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = 'post' && post_status = 'publish'");
    foreach ($Posts as $post){
               muchos($post->ID,$post->post_title);
    }

    function muchos($id,$txt){
        $total = mt_rand(100,500);    //Cantidad de votos
        $_stars = mt_rand(4,5);        //Cantidad de estrellas. del 1 al 5

        $ver_k = kksr_all_post($id,$_stars,$total,intval($_GET['todos']));
        if($ver_k != 1) echo "[".$txt."] Total: +".$total."<br/>";
    }

        function kksr_all_post($pid,$stars,$cantu,$viejos=1)
        {
            $total_stars = 5;

            $ratings = get_post_meta($pid, '_kksr_ratings', true) ? get_post_meta($pid, '_kksr_ratings', true) : 0;
            if(intval($ratings)>0 && $viejos==0){ return "1"; }
            $casts = get_post_meta($pid, '_kksr_casts', true) ? get_post_meta($pid, '_kksr_casts', true) : 0;

            $nratings = $ratings + ($cantu * $stars);
            $ncasts = $casts + $cantu;
            $avg = $nratings && $ncasts ? number_format((float)($nratings/$ncasts), 2, '.', '') : 0;
            $per = $nratings && $ncasts ? number_format((float)((($nratings/$ncasts)/5)*100), 2, '.', '') : 0;

            if($stars)
            {
        $ip = "127.0.0.".mt_rand(0,100);
                $Ips = get_post_meta($pid, '_kksr_ips', true) ? unserialize(base64_decode(get_post_meta($pid, '_kksr_ips', true))) : array();
                if(!in_array($ip, $Ips))
                {
                    $Ips[] = $ip;
                }
                $ips = base64_encode(serialize($Ips));
                update_post_meta($pid, '_kksr_ratings', $nratings);
                update_post_meta($pid, '_kksr_casts', $ncasts);
                update_post_meta($pid, '_kksr_ips', $ips);
                update_post_meta($pid, '_kksr_avg', $avg);

                do_action('kksr_rate', $pid, $stars, $ip);
            }
        }
 
Atrás
Arriba