Un utente ha chiesto informazioni su Slide Anything - Responsive Content / HTML Slider and Carousel di Wordpress

Come incorporare un plugin in un tema?

Un utente ha chiesto 👇

Mi chiedo solo, c’è un modo per utilizzare questa diapositiva in un tema? Come previsto, voglio inserirlo in un file page.php come il cursore dell’eroe (che è la mia home page) e non un post.

Quello che è successo è che quando ho creato la mia homepage (in HTML), ho usato Owl Carousel (https://owlcarousel2.github.io/OwlCarousel2/) come mio slider e credo che SA Slider sia basato su di esso. Va tutto bene nella versione statica. Tuttavia, ora voglio rendere dinamici l’immagine di sfondo, il titolo e la didascalia.

Non sei sicuro di come procedere?

(@jporra)

2 anni, 10 mesi fa

Ciao,
Stavo giocando con qualcosa come la mia homepage e ho finito per scrivere il mio plugin personalizzato che offriva codici brevi.
metti qualcosa del genere in un file php e aggiungi una cartella e quel file nella sezione dei plugin del tuo sito.

Quindi vai nella sezione admin di wordpress e abilita il tuo plugin.

<?php
/*
* Plugin Name: My Custom ShortCodes
* Description: Create your WordPress shortcode.
* Version: 1.0
* Author: John Porra
* Author URI: https://www.pum.com.au
*/

// Example 1 : WP Shortcode to display form on any page or post.
function pp_product_slider( $atts = [] ){

    // normalize attribute keys, lowercase
    // this next part allows you to pass arguments to the short code. i.e.
    [product-slider product="pizza"]

    $atts = array_change_key_case((array)$atts, CASE_LOWER);

    $product_name =  $atts['product'];
   
    global $wpdb;
    
    $postids = $wpdb->get_col($wpdb->prepare("
    SELECT      ID
    FROM        $wpdb->posts
    WHERE       $wpdb->posts.post_title like '" . $product_name . " %'
    ORDER BY    $wpdb->posts.post_title", $product_name)); 

    if ($postids) {
        $args = [
            'post_type'      => 'post',
            'posts_per_page' => -1,
            'orderby'        => 'post_title',
            'order'          => 'asc',
            'post__in' => $postids
        ];

        $the_query = new WP_Query($args);
    
        // The Loop
        // we put the output into a string, rather than an echo so that it can go where we want it, not where it appears when it executes.
        if ( $the_query->have_posts() ) {
            $o= '';
            if ( $the_query->have_posts() ) {
                //$the_query->the_post();
                $id = $the_query->posts[0]->ID;

                // Here's where you'd build your custom HTML                
                $o = $o .  '<div class="container primacy-slider">';
                $o = $o .       '<div class="row">';
                $o = $o .           '<div class="col-md-2"><a href="' . get_permalink($id) . '">' . get_the_post_thumbnail($id, 'fashify-thumb-default') . '</a></div>';
                $o = $o .           '<div class="col-md-7">';
                $o = $o .               '<a href="' . get_permalink($id) . '"><h4>' . get_the_title($id) . '</h4></a>';
                $o = $o .               '<p>' . get_the_excerpt($id) . '</p>';
                $o = $o .           '</div>';
                $o = $o .           '<div class="col-md-3">';

                
                $o = $o .           '</div>';
                $o = $o .       '</div>';
                $o = $o .   '</div>';
            }
            
            /* Restore original Post Data */
            wp_reset_postdata();
        } else {
            // no posts found
            $o = 'Nothing here.';
        }
    }
    return $o;
}
// change 'product-slider' to the name you want YOUR short code to have...
add_shortcode('product-slider', 'pp_product_slider');
?>

Quindi, per usarlo, imposta il cursore per abilitare i codici funzione e inserisci il tuo codice funzione.

vale a dire per l’uso solo sopra
[product-slider product="pizza"]

e poi il “prodotto pizza” sarà sulla diapositiva

Spero che questo aiuti.

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *