Nu stiu cata lume foloseste pluginul Post Views Counter (PVC), insa este destul de util pentru GeneratePress, daca vrei sa faci un top al celor mai accesate vizitate pagini din site-ul tau. In acest tutorial o sa invezi cum faci shortcode pvc_most_viewed_posts pentru GeneratePress si AMP.
Problema este ca pe langa dezvoltarea facuta Digital Factory pentru PVC, s-ar putea sa mai ai nevoie de cateva customizari, mai ales daca folosesti o versiune AMP a site-ului tau.
Majoritatea celor care utilizeaza PVC (Post Views Counter) se bazeaza pe documentatia oficiala a modulului si pentru GeneratePress utilizeaza: Elements → Hook:
<?php pvc_most_viewed_posts( $args = array(), $display = true ); ?>
Pentru paginile AMP (Accelerated Mobile Pages) sau pentru alte pagini din website-ul tau, cel mai simplu ar fi sa folosesti un shortcode de forma: [pvc_most_viewed_posts]
care sa listeze cele mai vizitate pagini.
Cum creezi shortcode pvc_most_viewed_posts pentru GeneratePress si AMP?
Pentru a crea un shortcode pentru functia pvc_most_viewed_posts()
, urmati pasii de mai jos:
1. Deschideti fisierul functions.php al temei de WordPress care este activata pe site-url dvs si adaugati codul de mai jos:
function pvc_most_viewed_posts_shortcode( $atts ) {
$args = shortcode_atts( array(
'number_of_posts' => 5,
'post_type' => array( 'post' ),
'order' => 'desc',
'thumbnail_size' => 'thumbnail',
'show_post_views' => false,
'show_post_thumbnail' => false,
'show_post_excerpt' => true,
'no_posts_message' => __( 'No Posts', 'post-views-counter' )
), $atts );
$posts = pvc_get_most_viewed_posts( $args );
if ( $posts ) {
$output = '<ul class="pvc-most-viewed-posts">';
foreach ( $posts as $post ) {
$output .= '<li>';
if ( $args['show_post_thumbnail'] && has_post_thumbnail( $post->ID ) ) {
$output .= '<a href="' . get_permalink( $post->ID ) . '">' . get_the_post_thumbnail( $post->ID, $args['thumbnail_size'] ) . '</a>';
}
$output .= '<a href="' . get_permalink( $post->ID ) . '">' . get_the_title( $post->ID ) . '</a>';
if ( $args['show_post_views'] ) {
$output .= '<span class="pvc-post-views">' . pvc_get_post_views( $post->ID ) . ' ' . __( 'views', 'post-views-counter' ) . '</span>';
}
if ( $args['show_post_excerpt'] ) {
$output .= '<div class="pvc-post-excerpt">' . get_the_excerpt( $post->ID ) . '</div>';
}
$output .= '</li>';
}
$output .= '</ul>';
} else {
$output = '<p class="pvc-no-posts-message">' . $args['no_posts_message'] . '</p>';
}
return $output;
}
add_shortcode( 'pvc_most_viewed_posts', 'pvc_most_viewed_posts_shortcode' );
Din acest cod puteti schimba argumentele dupa cum aveti nevoie. De exemplu, am pus cu bold argumentele pe care le puteti schimba in siguranta: 'number_of_posts' => 5
(inlocuiti 5 cu alta valoare pentru a schimba numarul de posturi afisate, folositi valorile „true
” sau „false
” pentru celelalte argumente.
Salvari fisierul.
2. Utilizati shortcode [pvc_most_viewed_posts]
in paginile in care doriti sa se afiseze output-ul din codul de mai sus.

Acest shortcode PVC va functiona inclusiv in paginile AMP.
Dace aveti nevoie ca in paginile AMP sa faceti un alt mod de afisare, care sa fie valid, va puteti juca in CSS pentru a schimba modul in care sa arate cele mai populare articole afisate de plugin-ul Most View Counter.
.pvc-most-viewed-posts li {
display: none;
}
.pvc-most-viewed-posts li .pvc-post-details {
display: block;
margin-bottom: 20px;
}
.pvc-most-viewed-posts li .pvc-post-details h3 {
margin: 0;
font-size: 20px;
line-height: 1.5;
}
.pvc-most-viewed-posts li .pvc-post-details p {
margin: 0;
font-size: 16px;
line-height: 1.5;
}
In acest fel o sa ai shortcode pvc_most_viewed_posts pentru GeneratePress si AMP, asa cum iti doresti.
Daca nu ai inteles ceva, ai nevoie de ajutor sau vrei sa aduci completari, rubrica „comentarii” este deschisa.