>本教程演示了構建一個WordPress插件,“投票我”,以在帖子中添加投票功能並顯示最佳的內容。
密鑰功能:
voteme.php
插件文件處理核心功能,包括通過voteme.js
>。
>創建在您的
目錄中。 插件標題應為:
voteme.php
wp-content/plugins/voteme
在
<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>文件夾,然後添加
。 插件結構應類似於以下方式:js
voteme
voteme.js
加入腳本:
激活WordPress Admin面板中的插件。
<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>
添加投票鏈接:
>向帖子添加投票鏈接:
這添加了投票數,並在每個帖子下面鏈接。
<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>
ajax投票:
:
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>
這將處理AJAX請求以增加投票數。
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>(其餘部分詳細詳細介紹管理員自定義,分類,用戶限制和窗口小部件的創建太多了,以至於在此處包含。提供的文本為每個步驟提供完整的代碼。請參閱完整代碼的原始輸入摘要。)
以上是為WordPress創建投票插件的詳細內容。更多資訊請關注PHP中文網其他相關文章!