programador
En mi sitio, tengo la intención de mostrar el número total de publicaciones y comentarios en el sitio, así como el número total de compras realizadas desde mi sitio. Los códigos que escribí son los siguientes:
//copy to functions.php
// Total Comment
function site_total_comment_count() {
$num_comm = get_comment_count();
$num_comm = $num_comm['total_comments'];
echo $num_comm ;}
add_shortcode('total_comment_count', 'site_total_comment_count');
// Total Completed Orders
function total_completed_Orders() {
$query = new WC_Order_Query( array(
'limit' => 99999,
'status' => array( 'completed' ),
'return' => 'ids',
) );
$orders = $query->get_orders();
return count( $orders ); }
// Copy to the desired page
<h2> All Orders:
<?php echo total_completed_Orders(); ?>
</h2>
<h2> All Comments:
<?php echo site_total_comment_count(); ?>
</h2>
<h2> All Posts:
<?php
echo $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->posts WHERE post_type="post" AND post_status="publish"");
?>
</h2>
Estos códigos funcionan bien individualmente, pero cuando pongo los tres en la página de destino, las estadísticas se muestran mal.
¿Puede escribirme un código que muestre las estadísticas correctas de estos tres elementos de mi sitio?
Puedes crear un código abreviado personalizado.
Pruebe esto en su archivo functions.php:
add_shortcode('custom_shortcode', 'kb_get_details');
function kb_get_details()
{
//For total post.
global $wpdb;
$total_post = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->posts WHERE post_type="post" AND post_status="publish"");
//For total comments.
$num_comm = get_comment_count();
$total_cmt = $num_comm['total_comments'];
//For total orders.
$query = new WC_Order_Query(array(
'limit' => 99999,
'status' => array('completed'),
'return' => 'ids',
));
$orders = $query->get_orders();
$total_orders = count($orders);
?>
<h2>All Posts : <?php esc_html_e($total_post); ?></h2>
<h2>All Comments: <?php esc_html_e($total_cmt); ?></h2>
<h2>All Orders : <?php esc_html_e($total_orders); ?></h2>
<?php
}
Después de eso, este shortcode se puede agregar directamente a su página de destino desde el backend. También puede agregarlo a cualquier plantilla personalizada mediante el uso de do_shortcode('[custom_shortcode]');
Este código no tiene mucho sentido. Tiene funciones, pero no las está llamando en ninguna parte. Es mejor poner estas funciones en
functions.php
y luego llamarlos en su plantilla. Pero KIKO señaló que estos están un poco incompletos. Areturn
no imprimirá nada en el navegador. Y su función de comentarios tiene unecho
pero no estás llamando a la función. Editar su edición de código lo empeoró un poco –site_total_comment_count()
yaechoes
. No es necesario repetirlo cuando lo llame.– desinfor
14 de noviembre a las 18:27