رفتن به مطلب

ساخت پوشه widgets و ابزارک اختصاصی


webmaster

پست های پیشنهاد شده

سلام خدمات تمامی دوستان

سه سالگی انجمن وردپرس پارسی رو به تمامی مدیران و کاربران تبریک میگم و امیدوارم روز به روز شاهد پیشرفت وردپرس پارسی باشیم.

من بعضی قالب های خارجی رو دیدم که داخل پوشه تم یه پوشه ای به نام widgets دارند و داخل ابزارک های اختصاصی دارند. حال من میخوام یکی از این ابزارک های قالب رو روی قالب خودم استفاده کنم.

اما هر کاری کردم نشد. کد ابزارک به صورت زیر است :


<?php
/**
Recent comments widget for the Bandit Framework
The contents of this file are subject to the terms of the GNU General
Public License Version 2.0. You may not use this file except in
compliance with the license. Any of the license terms and conditions
can be waived if you get permission from the copyright holder.
Copyright (c) 2011 Bandit Media
Jermaine Marée
@package Bandit_RecentComments
@version 1.0
**/
//! Recent comments widget
class 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;
}
}

ممنون میشم راهنمایی کنید تا این رو به لیست ابزارک ها اضافه کنم.

لینک به ارسال

این اکشن و تابع رو هم بعد از کدهاتون قراربدید


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';

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...