Napravite svoj Bootstrap Social Sharing Plugin-WP


Napravite svoj Bootstrap Social Sharing Plugin-WP

Uvod

Ako ste se do sada već susreli sa WordPress-om, onda znate da u WordPress repozitorijumu možete pronaći gomilu plugin-ova, koje samo skinete, instalirate i završite posao. Ali zašto ne biste napravili svoj plugin? Ovaj tutorijal će vam pokazati osnovne korake kako da sami napravite Bootstrap Social Sharing Plugin za WordPress.

Videćete da nije toliko teško, čak i ako ste potpuni početnik. Biće vam potrebno samo osnovno znanje iz PHP-a, MYSQL-a, HTML-a, CSS-a and jQuery-ja.

Korak 1: Kreiranje direktorijuma i fjalova za Bootstrap Social Sharing Plugin

Pre nego što počnemo, neophodno je da proverite da li ste se uspešno povezali sa Bootstrap CDN-om ili ugradili Bootstrap fajlove u vašoj WordPress temi. U slučaju da ne znate kako to da uradite, ne brinite ovaj tutorijal će vam pomoći.

Pre svega pronađite WordPress plugins folder (uglavnom se nalazi na stazi:/wp-content/plugins). Zatim kreirajte direktorijum bs-social-share (naziv plugin-a je proizvoljan) i sledeće fajlove u njemu:

bs-social-share
	bs-social-share.php
	style.css

Otvorite bs-social-share.php fajl i kopirajte sledeće informacije (omogućavanje instaliranja plugin-a):

<?php
   /*
   Plugin Name: Your Plugin Name
   Plugin URI: http://your-plugin.com
   Description: Your Plugin Description
   Version: 1.0.0
   Author: Your Name
   Author URI: http://your-website.com
   License: GPL
   */
?>

Korak 2: Kreiranje Admin Menu Item-a

Kada se kreira plugin korisnik mora biti u mogućnosti da odabere koje to dugmiće za deljenje na društvenim mrežama želi da prikaže. Kako bismo to omogućili, moramo da kreiramo options page, ali pre svega ćemo napraviti menu item u okviru kog će se options page i prikazivati (detaljna objašnjenja):

add_action("admin_menu", "bs_social_share_menu_item");

function social_share_menu_item() {
add_submenu_page("options-general.php", "Bootstrap Social Share", " Bootstrap Social Share", "manage_options", "bootstrap-social-share", "bs_social_share_page"); 
}

 

BS Social Sharing Plugin Menu Item

Menu item dodajemo unutar admin_menu action-a koristećiadd_submenu_page. Sadržaj options stranice biće prikazan uz pomoć bs_social_share_page callback funkcije.

Korak 3: Kreiranje Bootstrap Social Sharing Options stranice

U suštini to postižemo dodavanjem bs_social_share_config_section i registrovanjem podešavanja kao bs-social-share:

function bs_social_share_page() {
   ?>
     <div class="">
       <h1> Bootstrap Social Sharing Options</h1>

       <form method="post" action="options.php">
       <?php
           settings_fields("bs_social_share_config_section");

           do_settings_sections("bs-social-share");

           submit_button(); 
       ?>
       </form>
    </div>
  <?php
}

Korak 4: Prikazivanje option polja

Kroz bs_social_share_settings funkciju korisnici će biti u mogućnosti da prakižu  Facebook, Twitter, LinkedIn i GPlus share dugmiće/linkove (listu dugmića za deljenje na društvenim mrežama možete proširiti po želji):

add_action("admin_init", "bs_social_share_settings");
function bs_social_share_settings() {
    add_settings_section("bs_social_share_config_section", "", null, "social-share");

    add_settings_field("bs-social-share-facebook", "Display Facebook share button?", "bs_social_share_facebook_checkbox", "bs-social-share", "bs_social_share_config_section");
    add_settings_field("bs-social-share-twitter", "Display Twitter share button?", "bs_social_share_twitter_checkbox", "bs-social-share", "bs_social_share_config_section");
    add_settings_field("bs-social-share-linkedin", "Display LinkedIn share button?", "bs_social_share_linkedin_checkbox", "bs-social-share", "bs_social_share_config_section");
    add_settings_field("bs-social-share-googleplus", "Display GPlus share button?", "bs_social_share_googleplus_checkbox", "bs-social-share", "bs_social_share_config_section");

    register_setting("bs_social_share_config_section", "bs-social-share-facebook");
    register_setting("bs_social_share_config_section", "bs-social-share-twitter");
    register_setting("bs_social_share_config_section", "bs-social-share-linkedin");
    register_setting("bs_social_share_config_section", "bs-social-share-googleplus");
}

function bs_social_share_facebook_checkbox() { 
    ?>
        <input type="checkbox" name="bs-social-share-facebook" value="1" <?php checked(1, get_option('bs-social-share-facebook'), true); ?> >
    <?php
}
function bs_social_share_twitter_checkbox() { 
    ?>
        <input type="checkbox" name="bs-social-share-twitter" value="1" <?php checked(1, get_option('bs-social-share-twitter'), true); ?> >
    <?php
}
function bs_social_share_linkedin_checkbox() { 
    ?>
       <input type="checkbox" name="bs-social-share-linkedin" value="1" <?php checked(1, get_option('bs-social-share-linkedin'), true); ?> > 
    <?php
}
function bs_social_share_googleplus_checkbox() { 
    ?>
        <input type="checkbox" name="bs-social-share-googleplus" value="1" <?php checked(1, get_option('bs-social-share-googleplus'), true); ?> > 
    <?php
}

Options stranica bi trebalo da izgleda ovako:

BS Social Sharing Plugin Options Page

Korak 5: Prikazivanje Bootstrap Social Sharing Plugin dugmića

U našem primeru za deljenje ćemo upotrebiti linkove i biće prikazani nakon svakog post-a, a vi ih možete prikazati po želji. Da bismo to uradili, neophodno je da iskoristimo the_content filter.

add_filter("the_content", "add_bs_social_share_lins");

function add_social_share_icons($content) {

    $html = "<div class='row social-share-wrapper'><div class='col-12 mt-3 mb-3'>";

    global $post;

    $url = get_permalink($post->ID);
    $url = esc_url($url);

    if(get_option("bs-social-share-facebook") == 1) {
        $html = $html . '<a class="facebook btn btn-outline-primary p-2 m-2" href='http://www.facebook.com/sharer.php?u=" . $url . "'><i class="fab fa-facebook-f"></i> Facebook</a>';
    }

    if(get_option("bs-social-share-twitter") == 1) {
        $html = $html . "<a class='twitter btn btn-info-primary p-2 m-2' href='https://twitter.com/share?url=" . $url . "'><i class='fab fa-twitter'></i> Twitter</a>";
    }

    if(get_option("bs-social-share-linkedin") == 1) {
        $html = $html . "<a class='linkedin btn btn-outline-primary p-2 mr-2' href='https://www.linkedin.com/shareArticle?url=" . $url . "'><i class='fab fa-linkedin-in'></i> LinkedIn</a>";
    }

    if(get_option("bs-social-share-googleplus") == 1) {
        $html = $html . "<a class='googleplus btn btn-outline-danger p-2 mr-2' target='_blank' href='https://plusone.google.com/_/+1/confirm?hl=en&url=$url'><i class='fab fa-google-plus-g'></i> GPlus</a>";
    }

    $html = $html . "<div class='clear'></div></div></div>";

    return $content = $content . $html;
}

Stilizovanje Bootstrap Social Sharing Plugin linkova

Ukoliko želite možete dodatno stilizovati linkove/dugmiće uključivanjem style.css fajl:

add_action("wp_enqueue_scripts", "bs_social_share_style");

function social_share_style()  {
    if (is_single() ) {
        wp_register_style("social-share-style-file", plugin_dir_url(__FILE__) . "style.css");
        wp_enqueue_style("social-share-style-file");

        wp_register_script('custom-script', plugins_url( 'custom.js', __FILE__ ), array( 'jquery' ));
        wp_enqueue_script( 'custom-script' );
    }
}

Kao što možete videti iznad, uključili smo i custom.js fajl. Slobodno dodajte neki custom JQuery kod, prema vašim potrebama .

To je to! Upravo ste kreirali svoj Bootstrap Social Sharing Plugin. Nemojte stati ovde, dodajte nove opcije, nastavite sa eksperimentisanjem…