Heim > CMS-Tutorial > WordDrücken Sie > Erstellen Sie ein Wahlplugin für WordPress

Erstellen Sie ein Wahlplugin für WordPress

William Shakespeare
Freigeben: 2025-02-21 09:34:11
Original
592 Leute haben es durchsucht

Dieses Tutorial zeigt, dass das Erstellen eines WordPress-Plugins, "stimmen", Stimmenfunktionen für Beiträge und die Anzeige von Top-bewerteten Inhalten hinzugefügt wird.

Schlüsselmerkmale:

  • benutzerdefiniertes Stimmen -Plugin: a voteme.php Plugin -Datei übernimmt die Kernfunktionalität, einschließlich AJAX -Integration über voteme.js.
  • Post -Abstimmung: Ein Stimmrechtsverbindungslink unter jedem Beitrag aktualisiert die Stimmenzählungen mit AJAX dynamisch.
  • Integration des Administratorpanels: Der WordPress -Administrator zeigt Beiträge nach Stimmenzahl an.
  • Registrierte Benutzerbeschränkung: Die Abstimmung ist auf registrierte, angemeldete Benutzer beschränkt, um Spam zu verhindern.
  • Top -gewählte Beiträge Widget: Ein anpassbares Widget zeigt die beliebtesten Beiträge.

Plugin -Erstellung:

Erstellen Sie voteme.php in Ihrem wp-content/plugins/voteme Verzeichnis. Der Plugin -Header sollte:

sein
<?php
/*
Plugin Name: Vote Me
Plugin URI:  [Your Plugin URI]
Description: Adds voting to posts.
Author: Abbas
Version: 0.1
Author URI: [Your Author URI]
*/
define('VOTEMESURL', WP_PLUGIN_URL."/".dirname( plugin_basename( __FILE__ ) ) );
define('VOTEMEPATH', WP_PLUGIN_DIR."/".dirname( plugin_basename( __FILE__ ) ) );
Nach dem Login kopieren

Erstellen Sie einen js -Fordner in voteme und fügen Sie voteme.js hinzu. Die Plugin -Struktur sollte Folgendes ähneln:

Create a Voting Plugin for WordPress

Enqueue die Skripte:

function voteme_enqueuescripts() {
    wp_enqueue_script('voteme', VOTEMESURL.'/js/voteme.js', array('jquery'));
    wp_localize_script( 'voteme', 'votemeajax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
}
add_action('wp_enqueue_scripts', 'voteme_enqueuescripts');
Nach dem Login kopieren

Aktivieren Sie das Plugin im WordPress -Administratorfeld.

Create a Voting Plugin for WordPress

Hinzufügen von Abstimmungslinks:

Fügen Sie Beiträgen zu Posts hinzu:

function voteme_getvotelink() {
    $votemelink = "";
    if( get_option('votemelogincompulsory') != 'yes' || is_user_logged_in() ) {
        $post_ID = get_the_ID();
        $votemecount = get_post_meta($post_ID, '_votemecount', true) != '' ? get_post_meta($post_ID, '_votemecount', true) : '0';
        $link = $votemecount.' <a onclick="votemeaddvote('.$post_ID.');">Vote</a>';
        $votemelink = '<div>' . $link . '</div>';
    } else {
        $register_link = site_url('wp-login.php');
        $votemelink = '<div><a href="' . $register_link . '">Vote</a></div>';
    }
    return $votemelink;
}

function voteme_printvotelink($content) {
    return $content . voteme_getvotelink();
}
add_filter('the_content', 'voteme_printvotelink');
Nach dem Login kopieren

Dies fügt die Stimmenzahl und den Link unter jedem Beitrag hinzu.

Create a Voting Plugin for WordPress

AJAX -Abstimmung:

voteme.js:

function votemeaddvote(postId) {
    jQuery.ajax({
        type: 'POST',
        url: votemeajax.ajaxurl,
        data: {
            action: 'voteme_addvote',
            postid: postId
        },
        success: function(data, textStatus, XMLHttpRequest) {
            var linkid = '#voteme-' + postId;
            jQuery(linkid).html('');
            jQuery(linkid).append(data);
        },
        error: function(MLHttpRequest, textStatus, errorThrown) {
            alert(errorThrown);
        }
    });
}
Nach dem Login kopieren

voteme.php:

function voteme_addvote() {
    $results = '';
    global $wpdb;
    $post_ID = $_POST['postid'];
    $votemecount = get_post_meta($post_ID, '_votemecount', true) != '' ? get_post_meta($post_ID, '_votemecount', true) : '0';
    $votemecountNew = $votemecount + 1;
    update_post_meta($post_ID, '_votemecount', $votemecountNew);
    $results .= '<div>' . $votemecountNew . '</div>';
    die($results);
}
add_action( 'wp_ajax_nopriv_voteme_addvote', 'voteme_addvote' );
add_action( 'wp_ajax_voteme_addvote', 'voteme_addvote' );
Nach dem Login kopieren

Dies verwaltet die AJAX -Anfrage, um die Stimmenanzahl zu erhöhen.

Create a Voting Plugin for WordPress

(Die verbleibenden Abschnitte, in denen die Anpassung, Sortierung, Sortierung, Benutzereinschränkung und Widget -Erstellung von Administratoranpassungen beschrieben wird, sind zu umfangreich, um hier einzuschließen. Der bereitgestellte Text enthält den vollständigen Code für jeden Schritt. Siehe die ursprüngliche Eingabe für den vollständigen Code Snippets.)

In den letzten Abschnitten werden der Liste der Verwaltungsbeiträge eine Spalte für die Stimmenzahl hinzugefügt, wodurch sie sortierbar ist, die Stimmen auf registrierte Benutzer über eine Einstellungsseite einschränken und ein Widget erstellt werden, um die obersten Beiträge anzuzeigen. Alle erforderlichen Code sind in der ursprünglichen Eingabe vorhanden. Denken Sie daran, Platzhalter -URIs durch Ihre eigenen zu ersetzen.

Das obige ist der detaillierte Inhalt vonErstellen Sie ein Wahlplugin für WordPress. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage