رفتن به مطلب

ساخت ابزارک برای قالب


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

سلام, می خواستم برای قالبم یه ابزارک بسازم به صورتی که وقتی اونو قرارش می دن تو سایدبار، کدی مثل کد زیر توش قرار بگیره. اگر میشه بگین باید چه مراحلی رو طی کنم.

<form onsubmit="window.open('http://feedburner.google.com/fb/a/mailverify?uri=kambiz', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true" target="popupwindow" method="post" action="http://feedburner.google.com/fb/a/mailverify">
<input type="text" id="email" name="email" placeholder="آدرس ایمیل را وارد کنید ..." />
<input type="hidden" name="uri" value="7ww" />
<input type="hidden" value="en_US" name="loc" />
<input type="submit" value="اشتراک" />
</form>

لینک به ارسال

مرسی از پاسخی که دادی. بنده اینجا رو مطالعه کرده بود، اما از اونجایی که با php آشنایی چندانی ندارم نمی دونم چطور باید کد بالا رو که تو سوالی که پرسیدم قرارش دادم، تو php جایگزاری کنم. یعنی کد بالا رو توی کد echo "---" که قرار میدم ارور میگیره. اگر امکانش هست راهنمایی کنید. با سپاس فراوان ^_^

لینک به ارسال

درود.

اگر طبق آموزشی که لینک شده قصد دارید انجام دهید:

ابتدا یک فایل php ایجاد کنید و کد زیر را درون آن قرار دهید و نام آن را widgets ذخیره نمایید


<?php
// Creating the widget
class wpb_widget extends WP_Widget {

function __construct() {
parent::__construct(
// Base ID of your widget
'wpb_widget',

// Widget name will appear in UI
__('a widget for wordpress', 'bigtheme'),

// Widget description
array( 'description' => __( 'Sample widget based on (discription widget)', 'bigtheme' ), )
);
}

// Creating widget front-end
// This is where the action happens
public function widget( $args, $instance ) {
$title = apply_filters( 'widget_title', $instance['title'] );
// before and after widget arguments are defined by themes
echo $args['before_widget'];
if ( ! empty( $title ) )
echo $args['before_title'] . $title . $args['after_title'];

// This is where you run the code and display the output
echo __( 'سلام , این ابزارک من است!', 'bigtheme' );
echo $args['after_widget'];
}

// Widget Backend
public function form( $instance ) {
if ( isset( $instance[ 'title' ] ) ) {
$title = $instance[ 'title' ];
}
else {
$title = __( 'عنوان ابزارک', 'bigtheme' );
}
// Widget admin form
?>
<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
<input id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
</p>
<?php
}

// Updating widget replacing old instances with new
public function update( $new_instance, $old_instance ) {
$instance = array();
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
return $instance;
}
} // Class wpb_widget ends here

// Register and load the widget
function wpb_load_widget() {
register_widget( 'wpb_widget' );
}
add_action( 'widgets_init', 'wpb_load_widget' );

حال اگر این مورد را نمی دانید چگونه فایل php بسازید باید برنامه notepad ++ را دانلود کنید سپس برنامه را باز کنید یک فایل new کنید کد ها را در آن قرار دهید و برای ذخیره از منوی file برنامه بر روی save as کلیک کرده سپس نام را وارد نمایید و از تولبار پایین قسمت نام PHP hypertext.... را انتخاب نمایید تا ذخیره شود.

دقت نمایید در محل پوشه قالب این فایل را ذخیره کنید.

سپس فایل functions.php قالب خود را باز کنید بعد از


<?php

در خط اول این عبارت را کپی و اضافه نمایید :


include (TEMPLATEPATH . '/includes/widgets.php');

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

لینک به ارسال

درود.

اگر طبق آموزشی که لینک شده قصد دارید انجام دهید:

ابتدا یک فایل php ایجاد کنید و کد زیر را درون آن قرار دهید و نام آن را widgets ذخیره نمایید


<?php
// Creating the widget
class wpb_widget extends WP_Widget {

function __construct() {
parent::__construct(
// Base ID of your widget
'wpb_widget',

// Widget name will appear in UI
__('a widget for wordpress', 'bigtheme'),

// Widget description
array( 'description' => __( 'Sample widget based on (discription widget)', 'bigtheme' ), )
);
}

// Creating widget front-end
// This is where the action happens
public function widget( $args, $instance ) {
$title = apply_filters( 'widget_title', $instance['title'] );
// before and after widget arguments are defined by themes
echo $args['before_widget'];
if ( ! empty( $title ) )
echo $args['before_title'] . $title . $args['after_title'];

// This is where you run the code and display the output
echo __( 'سلام , این ابزارک من است!', 'bigtheme' );
echo $args['after_widget'];
}

// Widget Backend
public function form( $instance ) {
if ( isset( $instance[ 'title' ] ) ) {
$title = $instance[ 'title' ];
}
else {
$title = __( 'عنوان ابزارک', 'bigtheme' );
}
// Widget admin form
?>
<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
<input id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
</p>
<?php
}

// Updating widget replacing old instances with new
public function update( $new_instance, $old_instance ) {
$instance = array();
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
return $instance;
}
} // Class wpb_widget ends here

// Register and load the widget
function wpb_load_widget() {
register_widget( 'wpb_widget' );
}
add_action( 'widgets_init', 'wpb_load_widget' );

حال اگر این مورد را نمی دانید چگونه فایل php بسازید باید برنامه notepad ++ را دانلود کنید سپس برنامه را باز کنید یک فایل new کنید کد ها را در آن قرار دهید و برای ذخیره از منوی file برنامه بر روی save as کلیک کرده سپس نام را وارد نمایید و از تولبار پایین قسمت نام PHP hypertext.... را انتخاب نمایید تا ذخیره شود.

دقت نمایید در محل پوشه قالب این فایل را ذخیره کنید.

سپس فایل functions.php قالب خود را باز کنید بعد از


<?php

در خط اول این عبارت را کپی و اضافه نمایید :


include (TEMPLATEPATH . '/includes/widgets.php');

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

سلام، ممنون از پاسختون. مثل اینکه منظورم رو درست بیان نکردم.

<form onsubmit="window.open('http://feedburner.google.com/fb/a/mailverify?uri=kambiz', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true" target="popupwindow" method="post" action="http://feedburner.google.com/fb/a/mailverify">
<input type="text" id="email" name="email" placeholder="آدرس ایمیل را وارد کنید ..." />
<input type="hidden" name="uri" value="7ww" />
<input type="hidden" value="en_US" name="loc" />
<input type="submit" value="اشتراک" />
</form>

سوال من اینه که کد بالا رو چطور تو کد شما قرار بدم ؟ میدونم که باید این قسمت بزارم :

// This is where you run the code and display the output
echo __( 'سلام , این ابزارک من است!', 'bigtheme' );
echo $args['after_widget'];
}

اما چجورش رو نمی دونم

:(

لینک به ارسال

ساده ترین روش برای این کار بعد از اینکه به قالب خود امکان پشتیبانی از ابزارک را دادید یک ابرازک متنی اضافه کنید و کد :


<form onsubmit="window.open('http://feedburner.google.com/fb/a/mailverify?uri=kambiz', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true" target="popupwindow" method="post" action="http://feedburner.google.com/fb/a/mailverify">
<input type="text" id="email" name="email" placeholder="آدرس ایمیل را وارد کنید ..." />
<input type="hidden" name="uri" value="7ww" />
<input type="hidden" value="en_US" name="loc" />
<input type="submit" value="اشتراک" />
</form>

درون آن را قرار دهید و ذخیره نمایید.

لینک به ارسال

ساده ترین روش برای این کار بعد از اینکه به قالب خود امکان پشتیبانی از ابزارک را دادید یک ابرازک متنی اضافه کنید و کد :


<form onsubmit="window.open('http://feedburner.google.com/fb/a/mailverify?uri=kambiz', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true" target="popupwindow" method="post" action="http://feedburner.google.com/fb/a/mailverify">
<input type="text" id="email" name="email" placeholder="آدرس ایمیل را وارد کنید ..." />
<input type="hidden" name="uri" value="7ww" />
<input type="hidden" value="en_US" name="loc" />
<input type="submit" value="اشتراک" />
</form>

درون آن را قرار دهید و ذخیره نمایید.

حرف شما کاملا متین. اما می خوام یه قالب طراحی کنم که ابزارک اختصاصی داشته باشه و بتونه با قرار دادن اون همون کد بالا رو تو قالب نمایش بده.

لینک به ارسال

جایگزین کنید در فایل widgets.php


<?php
// Creating the widget
class wpb_widget extends WP_Widget {
function __construct() {
parent::__construct(
// Base ID of your widget
'wpb_widget',
// Widget name will appear in UI
__('a widget for wordpress', 'bigtheme'),
// Widget description
array( 'description' => __( 'Sample widget based on (discription widget)', 'bigtheme' ), )
);
}
// Creating widget front-end
// This is where the action happens
public function widget( $args, $instance ) {
$title = apply_filters( 'widget_title', $instance['title'] );
// before and after widget arguments are defined by themes
echo $args['before_widget'];
if ( ! empty( $title ) )
echo $args['before_title'] . $title . $args['after_title'];
// This is where you run the code and display the output
echo __( '<form onsubmit="window.open("http://feedburner.google.com/fb/a/mailverify?uri=kambiz", "popupwindow", "scrollbars=yes,width=550,height=520");return true" target="popupwindow" method="post" action="http://feedburner.google.com/fb/a/mailverify">
<input type="text" id="email" name="email" placeholder="آدرس ایمیل را وارد کنید ..." />
<input type="hidden" name="uri" value="7ww" />
<input type="hidden" value="en_US" name="loc" />
<input type="submit" value="اشتراک" />
</form>', 'bigtheme' );
echo $args['after_widget'];
}
// Widget Backend
public function form( $instance ) {
if ( isset( $instance[ 'title' ] ) ) {
$title = $instance[ 'title' ];
}
else {
$title = __( 'عنوان ابزارک', 'bigtheme' );
}
// Widget admin form
?>
<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
<input id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
</p>
<?php
}
// Updating widget replacing old instances with new
public function update( $new_instance, $old_instance ) {
$instance = array();
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
return $instance;
}
} // Class wpb_widget ends here
// Register and load the widget
function wpb_load_widget() {
register_widget( 'wpb_widget' );
}
add_action( 'widgets_init', 'wpb_load_widget' );

به این صورت زمانی که ابزارک فعال شود به طور خودکار فرم نمایش داده میشود.

لینک به ارسال

به صورت متن خیلی بهتره

میتوین کد فرمتو تو یه فایل جداگانه بزاری بعد ابزارک معمولی هم بزاری وقتی فعال شد اون فایل را فراخوانی بکنه اینطوری کدت هم ساده تر میشه و هم راحت تر

لینک به ارسال

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

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

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

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

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

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

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

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

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