Heim >CMS-Tutorial >WordDrücken Sie >Erstellen Sie ein Wahlplugin für WordPress
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:
voteme.php
Plugin -Datei übernimmt die Kernfunktionalität, einschließlich AJAX -Integration über voteme.js
. Plugin -Erstellung:
Erstellen Sie voteme.php
in Ihrem wp-content/plugins/voteme
Verzeichnis. Der Plugin -Header sollte:
<code class="language-php"><?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__ ) ) );</code>
Erstellen Sie einen js
-Fordner in voteme
und fügen Sie voteme.js
hinzu. Die Plugin -Struktur sollte Folgendes ähneln:
Enqueue die Skripte:
<code class="language-php">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');</code>
Aktivieren Sie das Plugin im WordPress -Administratorfeld.
Hinzufügen von Abstimmungslinks:
Fügen Sie Beiträgen zu Posts hinzu:
<code class="language-php">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="'%20.%20%24register_link%20.%20'">Vote</a></div>'; } return $votemelink; } function voteme_printvotelink($content) { return $content . voteme_getvotelink(); } add_filter('the_content', 'voteme_printvotelink');</code>
Dies fügt die Stimmenzahl und den Link unter jedem Beitrag hinzu.
AJAX -Abstimmung:
voteme.js
:
<code class="language-javascript">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); } }); }</code>
voteme.php
:
<code class="language-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' );</code>
Dies verwaltet die AJAX -Anfrage, um die Stimmenanzahl zu erhöhen.
(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!