PRGAME

اضافه کردن فیلد به همه ابزارک ها

8 پست در این موضوع قرار دارد

سلام . میخام یک فیلد input با نوع text به همه ی ابزارک ها اضاف بشه و بتونم متنی که توی فیلد نوشته میشه رو در جای دلخواه از ابزارک نمایش بدم . افزونه هم نمیخام . میخام با کد باشه . اگر میشه کمکم کنید . :rolleyes:  چون همه ی منابع خارجی و ایرانی رو گشتم و چیزی دستگیرم نشد ! :wacko:

کد زیر تیکه ای ابزارک بنده هست که جز قسمت before_title محسوب میشه :

<div data-n="متن وارد شده در فیلد جدید"></div>

 

0

به اشتراک گذاری این پست


لینک به پست

سلام. برای اضافه کردن فیلد به این صورت قرار بدید :

add_action('in_widget_form', 'Plugins_form_hook');
/**
 * Hooks to the plugins form and adds a custome field to them 
 */
function plugins_form_hook($widget_instance){
    $widget_options_all = get_option($widget_instance->option_name);
    $settings = '';
    if(isset($widget_instance->number) && isset($widget_options_all[$widget_instance->number]['wpsrcIcon']) ){
        $settings = $widget_options_all[$widget_instance->number]['wpsrcIcon'];
    }
?>
<label for="<?php echo $widget_instance->get_field_id('wpsrcIcon'); ?>">نام کامل آیکون و افکت: </label>
<input style="direction:ltr;" type="text" id="<?php echo $widget_instance->get_field_id('wpsrcIcon'); ?>" name="<?php echo $widget_instance->get_field_name('wpsrcIcon'); ?>" value="<?php echo $settings; ?>">
<?php
}

 

برای ذخیره ی مقدارش به این صورت :

add_filter( 'widget_update_callback', 'wpsrc_widgets_update_callback', null, 4 );
/**
 * Saves the value of choosen icon
 */
function wpsrc_widgets_update_callback($instance, $new_instance, $old_instance, $instanceObj){
    $instance['wpsrcIcon'] = ( ! empty( $new_instance['wpsrcIcon'] ) ) ? $new_instance['wpsrcIcon']  : '';
    return $instance;
}

 

و برای تعیین نحوه استفادش توی خروجی ویجت هم به این صورت :

 

add_filter('widget_display_callback', 'wpsrc_widgets_display_hook', null, 3);
/**
 * Hooks to the plugins title and outputs the selected icon
 */
function wpsrc_widgets_display_hook($instance, $widget_class, $args){
    if (!isset($instance['wpsrcIcon'])) {
        return $instance;
    }
 
    $instance['title'] =  '<span class="dashicons' . $instance['wpsrcIcon'] . '"></span>' . $instance['title'];
    remove_filter( 'widget_title', 'esc_html' );
    return $instance;
}

 

اگر هم قصدتون قرار دادن چیزی مثل آیکون برای ابزارک ها هست که آموزشش توی سایتم هست (این تکه کدها رو از همون آموزش براتون قرار دادم)

1

به اشتراک گذاری این پست


لینک به پست
در 1 ساعت قبل، فرحان گفته است :

سلام. برای اضافه کردن فیلد به این صورت قرار بدید :


add_action('in_widget_form', 'Plugins_form_hook');
/**
 * Hooks to the plugins form and adds a custome field to them 
 */
function plugins_form_hook($widget_instance){
    $widget_options_all = get_option($widget_instance->option_name);
    $settings = '';
    if(isset($widget_instance->number) && isset($widget_options_all[$widget_instance->number]['wpsrcIcon']) ){
        $settings = $widget_options_all[$widget_instance->number]['wpsrcIcon'];
    }
?>
<label for="<?php echo $widget_instance->get_field_id('wpsrcIcon'); ?>">نام کامل آیکون و افکت: </label>
<input style="direction:ltr;" type="text" id="<?php echo $widget_instance->get_field_id('wpsrcIcon'); ?>" name="<?php echo $widget_instance->get_field_name('wpsrcIcon'); ?>" value="<?php echo $settings; ?>">
<?php
}

 

برای ذخیره ی مقدارش به این صورت :


add_filter( 'widget_update_callback', 'wpsrc_widgets_update_callback', null, 4 );
/**
 * Saves the value of choosen icon
 */
function wpsrc_widgets_update_callback($instance, $new_instance, $old_instance, $instanceObj){
    $instance['wpsrcIcon'] = ( ! empty( $new_instance['wpsrcIcon'] ) ) ? $new_instance['wpsrcIcon']  : '';
    return $instance;
}

 

و برای تعیین نحوه استفادش توی خروجی ویجت هم به این صورت :

 


add_filter('widget_display_callback', 'wpsrc_widgets_display_hook', null, 3);
/**
 * Hooks to the plugins title and outputs the selected icon
 */
function wpsrc_widgets_display_hook($instance, $widget_class, $args){
    if (!isset($instance['wpsrcIcon'])) {
        return $instance;
    }
 
    $instance['title'] =  '<span class="dashicons' . $instance['wpsrcIcon'] . '"></span>' . $instance['title'];
    remove_filter( 'widget_title', 'esc_html' );
    return $instance;
}

 

اگر هم قصدتون قرار دادن چیزی مثل آیکون برای ابزارک ها هست که آموزشش توی سایتم هست (این تکه کدها رو از همون آموزش براتون قرار دادم)

 

بسیار بسیار متشکرم . بله دقیقا قصدم قراردادن ایکن هست  .

0

به اشتراک گذاری این پست


لینک به پست

میشه کاری کرد که اگر چیزی درون input  وارد نشده بود کلا span نمایش داده نشه ؟

0

به اشتراک گذاری این پست


لینک به پست
در ۱ ساعت قبل، PRGAME گفته است :

میشه کاری کرد که اگر چیزی درون input  وارد نشده بود کلا span نمایش داده نشه ؟

کاری نداره این کار. یه شرط بزارید اگر توی اون instance['icon'] چیزی وارد نشده بود، اصلا نشون داده نشه.

0

به اشتراک گذاری این پست


لینک به پست

من خیلی با php اشنا نیستم . میشه زحمتش رو بکشید ؟

 

0

به اشتراک گذاری این پست


لینک به پست
در 24 دقیقه قبل، PRGAME گفته است :

من خیلی با php اشنا نیستم . میشه زحمتش رو بکشید ؟

 

 

در 25 دقیقه قبل، PRGAME گفته است :

من خیلی با php اشنا نیستم . میشه زحمتش رو بکشید ؟

 

$icon = instance['icon'];
if ( ! empty( $icon ) ) {
           //کد نمایش هر چیزی که خواستین

}

کد بالا کاری می کنه که اگه داخل input  بود نشون داده میشه در غیر این صورتش هیچ چیزی نمایش داده نمیشه

2

به اشتراک گذاری این پست


لینک به پست

قسمت سوم کد یعنی :

add_filter('widget_display_callback', 'wpsrc_widgets_display_hook', null, 3);
/**
 * Hooks to the plugins title and outputs the selected icon
 */
function wpsrc_widgets_display_hook($instance, $widget_class, $args){
    if (!isset($instance['wpsrcIcon'])) {
        return $instance;
    }
 
    $instance['title'] =  '<span class="dashicons' . $instance['wpsrcIcon'] . '"></span>' . $instance['title'];
    remove_filter( 'widget_title', 'esc_html' );
    return $instance;
}

 

رو به صورت :

 

add_filter('widget_display_callback', 'wpsrc_widgets_display_hook', null, 3);
/**
 * Hooks to the plugins title and outputs the selected icon
 */
function wpsrc_widgets_display_hook($instance, $widget_class, $args){
    if (!isset($instance['wpsrcIcon'])) {
        return $instance;
    }
 
	$span = '<span class="dashicons' . $instance['wpsrcIcon'] . '"></span>';
    $instance['title'] = ( ( !empty( $instance['wpsrcIcon'] ) )? $span : '' ) . $instance['title'];
    remove_filter( 'widget_title', 'esc_html' );
    return $instance;
}

دربیارید.

2

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری