webmaster 55 ارسال شده در اردیبهشت 94 گزارش بازنشر ارسال شده در اردیبهشت 94 سلام خدمات تمامی دوستانسه سالگی انجمن وردپرس پارسی رو به تمامی مدیران و کاربران تبریک میگم و امیدوارم روز به روز شاهد پیشرفت وردپرس پارسی باشیم.من بعضی قالب های خارجی رو دیدم که داخل پوشه تم یه پوشه ای به نام widgets دارند و داخل ابزارک های اختصاصی دارند. حال من میخوام یکی از این ابزارک های قالب رو روی قالب خودم استفاده کنم.اما هر کاری کردم نشد. کد ابزارک به صورت زیر است :<?php/**Recent comments widget for the Bandit FrameworkThe contents of this file are subject to the terms of the GNU GeneralPublic License Version 2.0. You may not use this file except incompliance with the license. Any of the license terms and conditionscan be waived if you get permission from the copyright holder.Copyright (c) 2011 Bandit MediaJermaine Marée @package Bandit_RecentComments @version 1.0**///! Recent comments widgetclass Bandit_RecentComments extends WP_Widget {/** Constructor**/function Bandit_RecentComments() { parent::WP_Widget(false,$name='آخرین دیدگاه ها');}/** Widget**/function widget($args, $instance) { extract( $args ); $instance['title']?NULL:$instance['title']='آخرین دیدگاه ها'; $title=apply_filters('widget_title',$instance['title']); $comments_num=$instance['comments_num']; $output=$before_widget."\n"; $output.=$before_title.$title.$after_title; if($comments_num) { // Get comments $comments=get_comments(array('number'=>$comments_num,'status'=>'approve','post_status'=>'publish')); // Build widget $output.='<ul class="clearfix">'."\n"; foreach ($comments as $comment) { $output.='<li>'."\n"; $output.='<div class="gravatar">'.get_avatar($comment->comment_author_email,$size='50')."\n"; $output.=' <a class="view_more" href="'.esc_url(get_comment_link($comment->comment_ID)).'">گفتگو کردن</a>'."\n"; $output.='</div>'."\n"; $output.='<div class="wrap_comment">'."\n"; $output.=' <div class="post_link">در <span>'.get_the_title($comment->comment_post_ID).'</span></div>'."\n"; $output.=' <p>توسط '.$comment->comment_author.'</p>'."\n"; $output.=' <a class="comment_link" href="'.esc_url(get_comment_link($comment->comment_ID)).'" title="پست جدید با تصویر بزرگ>"'.get_comment_excerpt($comment->comment_ID).'"</a>'."\n"; $output.='</div>'."\n"; $output.='</li>'."\n"; } } $output.='</ul>'."\n"; $output.=$after_widget."\n"; echo $output;}/** Widget update**/function update($new_instance,$old_instance) { $instance=$old_instance; $instance['title']=strip_tags($new_instance['title']); $instance['comments_num']=strip_tags($new_instance['comments_num']); return $instance;}/** Widget form**/function form($instance) { // Default widget settings $defaults=array('title'=>__('آخرین دیدگاه ها'),'comments_num'=>2); $instance=wp_parse_args((array)$instance,$defaults); // Build form $form='<p>'; $form.='<label for="'.$this->get_field_id('title').'">عنوان:</label>'; $form.='<input class="widefat" id="'.$this->get_field_id('title').'" name="'.$this->get_field_name('title').'" type="text" value="'.$instance['title'].'" />'; $form.='</p>'; $form.='<p>'; $form.='<label for="'.$this->get_field_id('comments_num').'">'.__('# دیدگاه:').'</label>'; $form.='<select id="'.$this->get_field_id('comments_num').'" name="'.$this->get_field_name('comments_num').'">'; for($i=1;$i<5;$i++) $form.='<option value="'.$i.'" '.(($instance['comments_num']==$i)?'selected="selected"':NULL).'>'.$i.'</option>'; $form.='</select>'; $form.='</p>'; // Display form echo $form;}}ممنون میشم راهنمایی کنید تا این رو به لیست ابزارک ها اضافه کنم. نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در اردیبهشت 94 گزارش بازنشر ارسال شده در اردیبهشت 94 این اکشن و تابع رو هم بعد از کدهاتون قراربدید add_action( 'widgets_init', 'bandit_recentcomments' );function bandit_recentcomments() {register_widget( 'Bandit_RecentComments' );}و اگر کدها را در فایلی به جز functions.php ساختید کدی شبیه کد زیر با نشانی صحیح فایل را در functions.php قالب قرار بدیدrequire get_template_directory() . '/widgets/bandit-recentcomments.php'; 2 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .