Last active
July 2, 2021 13:46
-
-
Save FrancoStino/2c3739ee5f21ea1c30a524ebd11dbc0a to your computer and use it in GitHub Desktop.
Visit count into product page and into custom column inside admin product page called "Views" (visite) - Woocommerce
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<? | |
/* | |
* Visit count into product page and into custom column inside admin product page called "Views" (visite) - Woocommerce | |
*/ | |
add_action('wp', function() { | |
global $post; | |
$user_ip = $_SERVER['REMOTE_ADDR']; | |
$meta = get_post_meta( $post->ID, 'views_count', TRUE ); | |
$meta = '' !== $meta ? explode( ',', $meta ) : array(); | |
$meta = array_filter( array_unique( $meta ) ); | |
if( ! in_array( $user_ip, $meta ) ) { | |
array_push( $meta, $user_ip ); | |
update_post_meta( $post->ID, 'views_count', implode(',', $meta) ); | |
} | |
}); | |
/** | |
* @snippet New Products Table Column @ WooCommerce Admin | |
* @how-to Get CustomizeWoo.com FREE | |
* @author Rodolfo Melogli | |
* @compatible WooCommerce 3.7 | |
* @donate $9 https://businessbloomer.com/bloomer-armada/ | |
*/ | |
add_filter( 'manage_edit-product_columns', 'bbloomer_admin_products_visibility_column', 9999 ); | |
function bbloomer_admin_products_visibility_column( $columns ){ | |
$columns['visite'] = 'Visite'; | |
return array_slice( $columns, 0, 3, true ) + array( 'visite' => 'Visite' ) + array_slice( $columns, 3, count( $columns ) - 3, true ); | |
} | |
add_action( 'manage_product_posts_custom_column', 'bbloomer_admin_products_visibility_column_content', 10, 2 ); | |
function bbloomer_admin_products_visibility_column_content( $column, $product_id ){ | |
if ( $column == 'visite' ) { | |
$meta = get_post_meta( $product_id, 'views_count', TRUE ); | |
$result = count(explode(',',$meta)); | |
echo $result; | |
} | |
} | |
add_filter( 'manage_edit-product_sortable_columns', 'bbloomer_admin_products_visibility_column_sortable' ); | |
function bbloomer_admin_products_visibility_column_sortable( $columns ){ | |
$columns['visite'] = 'visite'; | |
return $columns; | |
} | |
/* --- */ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment