Este es el mejor codigo que conozco, necesitarás un plugin adicional Page View Count en su versión 2.7 funciona perfectamente
<?php
// Obtén el ID de la actividad actual de BuddyPress
$activity_id = bp_get_activity_id();
// Actualiza el contador de vistas y muestra las estadísticas
pvc_stats_update( $activity_id, 1 );
echo do_shortcode( '[pvc_stats postid="' . $activity_id . '" increase="1" show_views_today="1"]' );
?>
El código que proporcioné anteriormente se puede agregar en el archivo
`wp-content/plugins/buddypress/bp-templates/bp-nouveau/buddypress/activity/entry.php`
de tu sitio web. Sin embargo, es importante tener en cuenta que modificar archivos en la carpeta de plugins directamente puede resultar en la pérdida de los cambios al actualizar el plugin. Por lo tanto, se recomienda crear un tema secundario o utilizar un plugin de personalización para agregar este código de manera segura.
Ahora, permíteme explicar en detalle cómo funciona el código y por qué se coloca en ese archivo:
1. `bp_get_activity_id()`: Esta función es proporcionada por BuddyPress y se utiliza para obtener el ID de la actividad actual en BuddyPress. Cada actividad en BuddyPress tiene su propio ID único.
2. `pvc_stats_update($activity_id, 1)`: Esta es una función del plugin Post Views Counter. Toma el ID de la actividad y un valor de "1" para aumentar el contador de vistas en uno para esa actividad.
3. `do_shortcode('[pvc_stats postid="' . $activity_id . '" increase="1" show_views_today="1"]')`: Aquí, estamos utilizando la función `do_shortcode()` para ejecutar el shortcode `[pvc_stats]` con el ID de la actividad actual. El shortcode se encarga de mostrar las estadísticas de visualización utilizando el ID de la actividad proporcionado.
Colocar este código en el archivo `entry.php` de BuddyPress tiene sentido porque `entry.php` es la plantilla utilizada para renderizar cada entrada de actividad en BuddyPress. Al agregar el código en este archivo, garantizamos que el contador de vistas se actualice y las estadísticas se muestren en cada actividad individual.
Recuerda, si decides modificar archivos dentro de la carpeta de plugins, es recomendable crear un tema secundario o utilizar un plugin de personalización para mantener tus cambios seguros y poder actualizar los plugins sin perder las modificaciones realizadas.
Espero que esta explicación aclare cómo funciona el código y por qué se coloca en ese archivo específico de BuddyPress.
Si prefieres agregar el código en el archivo `functions.php` en lugar de modificar directamente el plugin, puedes utilizar el siguiente código:
```php
function custom_buddypress_activity_stats() {
if ( function_exists('bp_get_activity_id') && function_exists('pvc_stats_update') && function_exists('do_shortcode') ) {
$activity_id = bp_get_activity_id();
pvc_stats_update( $activity_id, 1 );
echo do_shortcode( '[pvc_stats postid="' . $activity_id . '" increase="1" show_views_today="1"]' );
}
}
add_action( 'bp_after_activity_entry', 'custom_buddypress_activity_stats' );
```
Este código utiliza la acción `bp_after_activity_entry` de BuddyPress para ejecutar la función `custom_buddypress_activity_stats()` después de cada entrada de actividad. Dentro de esta función, se realiza la obtención del ID de la actividad actual mediante `bp_get_activity_id()`. Luego, se utiliza `pvc_stats_update()` para actualizar el contador de vistas y `do_shortcode()` para mostrar las estadísticas utilizando el shortcode `[pvc_stats]`.
Asegúrate de agregar este código en tu archivo `functions.php` o en tu archivo de funciones personalizadas dentro de tu tema activo. De esta manera, el código se ejecutará en el momento adecuado y se mostrarán las estadísticas en las actividades de BuddyPress.
Recuerda que para que esto funcione, debes tener el plugin "Post Views Counter" instalado y activado en tu sitio.
Espero que esto te ayude a integrar el código en el archivo `functions.php` y mostrar las estadísticas en las actividades de BuddyPress sin modificar directamente el plugin.