افزونه ابزارک حساب من ووکامرس

خلیل دلاوران

مدیر انجمن ووکامرس
با درود به دوستان

افزونه رایگان woocommerce-my-account-widget را به زبان شیرین پارسی ترجمه کرده ام.

این افزونه با ارائه یک ابزارک به مشتری کمک می کند تا وضعیت دقیق حساب خود را داشته باشد

از قبیل سفارش های ناتمام، سفارش های کامل، سفارش های پرداخت شده، سفارش های پرداخت نشده، تعداد خرید از فروشگاه، نمایش وضعیت ورود و خروج از فروشگاه، نمایش وضعیت سبد خرید، تعداد آیتم های درون سبد خرید و ....

این افزونه همخوانی دارد با افزونه . و فایل های آپلود شده شما را هم حساب می کند.

امیدوارم برگ سبزی باشد برای عزیزان



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

 
آخرین ویرایش توسط مدیر:

mkh362

تازه وارد
سلام. من نصبش کردم اما در قسمت ابزارک ها فعال نشده.چطور ازش استفاده کنم؟

 

mkh362

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









یعنی بعضی جملات فارسی نیستند!

 

extera300

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









 

extera300

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

 

chehresay

تازه وارد
برای حل مشکل فارسی این کدها رو در woocommerce-myaccount-widget.php جایگذین کنید


کد:
<?php
/*
Plugin Name: WooCommerce My Account Widget
Plugin URI: http://wordpress.org/extend/plugins/woocommerce-my-account-widget/
Description: WooCommerce My Account Widget shows order & account data.
Author: ParsWP.ir
Author URI: http://www.parswp.ir/
Version: 0.3.1
*/
class WooCommerceMyAccountWidget extends WP_Widget
{
function WooCommerceMyAccountWidget()
{
    $widget_ops = array('classname' => 'WooCommerceMyAccountWidget', 'description' => __( 'ابزارک حساب من ووکامرس برای نمایش سفارش و داده های کاربری', 'woocommerce-myaccount-widget' ) );
    $this->WP_Widget('WooCommerceMyAccountWidget', __( 'ابزارک حساب من', 'woocommerce-myaccount-widget' ), $widget_ops);
}
function form($instance)
{
    $instance = wp_parse_args( (array) $instance, array( 'title' => '' ) );
    $show_cartlink = isset( $instance['show_cartlink'] ) ? (bool) $instance['show_cartlink'] : false;
    $show_items = isset( $instance['show_items'] ) ? (bool) $instance['show_items'] : false;
    $show_upload = isset( $instance['show_upload'] ) ? (bool) $instance['show_upload'] : false;
    $show_unpaid = isset( $instance['show_unpaid'] ) ? (bool) $instance['show_unpaid'] : false;
    $show_pending = isset( $instance['show_pending'] ) ? (bool) $instance['show_pending'] : false;
    $show_logout_link = isset( $instance['show_logout_link'] ) ? (bool) $instance['show_logout_link'] : false;
?>
    <p><label for="<?php echo $this->get_field_id('logged_out_title'); ?>"><?php _e('خروج', 'woocommerce-myaccount-widget') ?></label>
        <input type="text" class="widefat" id="<?php echo esc_attr( $this->get_field_id('logged_out_title') ); ?>" name="<?php echo esc_attr( $this->get_field_name('logged_out_title') ); ?>" value="<?php if (isset ( $instance['logged_out_title'])) echo esc_attr( $instance['logged_out_title'] ); else echo __('ورود مشتری', 'woocommerce-myaccount-widget'); ?>" /></p>

    <p><label for="<?php echo $this->get_field_id('logged_in_title'); ?>"><?php _e('Logged in title:', 'woocommerce-myaccount-widget') ?></label>
        <input type="text" class="widefat" id="<?php echo esc_attr( $this->get_field_id('logged_in_title') ); ?>" name="<?php echo esc_attr( $this->get_field_name('logged_in_title') ); ?>" value="<?php if (isset ( $instance['logged_in_title'])) echo esc_attr( $instance['logged_in_title'] ); else echo __('خوش آمدید %s', 'woocommerce-myaccount-widget'); ?>" /></p>

       <p> <input type="checkbox" class="checkbox" id="<?php echo esc_attr( $this->get_field_id('show_cartlink') ); ?>" name="<?php echo esc_attr( $this->get_field_name('show_cartlink') ); ?>"<?php checked( $show_cartlink ); ?> />
        <label for="<?php echo $this->get_field_id('show_cartlink'); ?>"><?php _e( 'نمایش پیوند سبد خرید', 'woocommerce-myaccount-widget' ); ?></label><br />
        <input type="checkbox" class="checkbox" id="<?php echo esc_attr( $this->get_field_id('show_items') ); ?>" name="<?php echo esc_attr( $this->get_field_name('show_items') ); ?>"<?php checked( $show_items ); ?> />
        <label for="<?php echo $this->get_field_id('show_items'); ?>"><?php _e( 'نمایش شمار قلم های درون سبد خرید', 'woocommerce-myaccount-widget' ); ?></label><br />


        <?php if (function_exists('woocommerce_umf_admin_menu')) { ?>
        <input type="checkbox" class="checkbox" id="<?php echo esc_attr( $this->get_field_id('show_upload') ); ?>" name="<?php echo esc_attr( $this->get_field_name('show_upload') ); ?>"<?php checked( $show_upload ); ?> />
        <label for="<?php echo $this->get_field_id('show_upload'); ?>"><?php _e( 'نمایش تعداد بارگذاری های باقی ماند', 'woocommerce-myaccount-widget' ); ?></label><br />
        <?php }?>
        <input type="checkbox" class="checkbox" id="<?php echo esc_attr( $this->get_field_id('show_unpaid') ); ?>" name="<?php echo esc_attr( $this->get_field_name('show_unpaid') ); ?>"<?php checked( $show_unpaid ); ?> />
        <label for="<?php echo $this->get_field_id('show_unpaid'); ?>"><?php _e( 'نمایش شمار سفارش های پرداخت نشده', 'woocommerce-myaccount-widget' ); ?></label><br/>
        <input type="checkbox" class="checkbox" id="<?php echo esc_attr( $this->get_field_id('show_pending') ); ?>" name="<?php echo esc_attr( $this->get_field_name('show_pending') ); ?>"<?php checked( $show_pending ); ?> />
        <label for="<?php echo $this->get_field_id('show_pending'); ?>"><?php _e( 'نمایش شمار سفارش های ناتمام', 'woocommerce-myaccount-widget' ); ?></label><br>
        <input type="checkbox" class="checkbox" id="<?php echo esc_attr( $this->get_field_id('show_logout_link') ); ?>" name="<?php echo esc_attr( $this->get_field_name('show_logout_link') ); ?>"<?php checked( $show_logout_link ); ?> />
        <label for="<?php echo $this->get_field_id('show_logout_link'); ?>"><?php _e( 'نمایش لینک خروج از سیستم', 'woocommerce-myaccount-widget' ); ?></label>
    </p>
<?php
}

function update($new_instance, $old_instance)
{
    $instance = $old_instance;
    $instance['logged_out_title'] = strip_tags(stripslashes($new_instance['logged_out_title']));
    $instance['logged_in_title'] = strip_tags(stripslashes($new_instance['logged_in_title']));
    $instance['show_cartlink'] = !empty($new_instance['show_cartlink']) ? 1 : 0;
    $instance['show_items'] = !empty($new_instance['show_items']) ? 1 : 0;
    $instance['show_upload'] = !empty($new_instance['show_upload']) ? 1 : 0;
    $instance['show_unpaid'] = !empty($new_instance['show_unpaid']) ? 1 : 0;
    $instance['show_pending'] = !empty($new_instance['show_pending']) ? 1 : 0;
    $instance['show_logout_link'] = !empty($new_instance['show_logout_link']) ? 1 : 0;
    return $instance;
}
function widget($args, $instance)
{    
    extract($args, EXTR_SKIP);
    global $woocommerce;

    $logged_out_title = (!empty($instance['logged_out_title'])) ? $instance['logged_out_title'] : __('ورود مشتری', 'woocommerce-myaccount-widget');
    $logged_in_title = (!empty($instance['logged_in_title'])) ? $instance['logged_in_title'] : __('خوش آمدید %s', 'woocommerce-myaccount-widget');

    echo $before_widget;

    //check if user is logged in 
    if ( is_user_logged_in() ) { 
        $c = (isset($instance['show_cartlink']) && $instance['show_cartlink']) ? '1' : '0';
        $it = (isset($instance['show_items']) && $instance['show_items']) ? '1' : '0';
        $u = (isset($instance['show_upload']) && $instance['show_upload']) ? '1' : '0';
        $up = (isset($instance['show_unpaid']) && $instance['show_unpaid']) ? '1' : '0';
        $p = (isset($instance['show_pending']) && $instance['show_pending']) ? '1' : '0';
        $lo = (isset($instance['show_logout_link']) && $instance['show_logout_link']) ? '1' : '0';

    // redirect url after login / logout
    if(is_multisite()) { $woo_ma_home=network_home_url(); } else {$woo_ma_home=home_url();}

        $user = get_user_by('id', get_current_user_id());
        echo '<div class=login>';
        if($user->first_name!="") { $uname=$user->first_name;} else { $uname=$user->display_name; }
        if ( $logged_in_title ) echo $before_title . sprintf( $logged_in_title, ucwords($uname) ) . $after_title;

        if($c) {echo '<p><a class="woo-ma-button cart-link woo-ma-cart-link" href="'.$woocommerce->cart->get_cart_url() .'" title="'. __('نمایش درون سبد خریدتان','woocommerce-myaccount-widget').'">'.__('نمایش درون سبد خریدتان','woocommerce-myaccount-widget').'</a></p>';}

        $notcompleted=0;
        $uploadfile=0;
        $notpaid=0;
        $customer_id = get_current_user_id();
        $args = array(
            'numberposts'     => -1,
            'meta_key'        => '_customer_user',
            'meta_value'      => $customer_id,
            'post_type'       => 'shop_order',
            'post_status'     => 'publish'
        );
        $customer_orders = get_posts($args);
        if ($customer_orders) {
            foreach ($customer_orders as $customer_order) :
                $woocommerce1=0;
                $order = new WC_Order();
                $order->populate( $customer_order );
                $status = get_term_by('slug', $order->status, 'shop_order_status');
                if($status->name!='completed' && $status->name!='cancelled'){ $notcompleted++; }


            /* upload files */
        if (function_exists('woocommerce_umf_admin_menu')) {
            if(get_max_upload_count($order) >0 ) {
                $j=1;
                foreach ( $order->get_items() as $order_item ) {
                    $max_upload_count=get_max_upload_count($order,$order_item['product_id']);
                    $i=1;
                    $upload_count=0;
                    while ($i <= $max_upload_count) {
                        if(get_post_meta( $order->id, '_woo_umf_uploaded_file_name_' . $j, true )!="") {$upload_count++;}
                        $i++;
                        $j++;
                    }
                    /* toon aantal nog aan te leveren bestanden */
                    $upload_count=$max_upload_count-$upload_count;
                    $uploadfile+=$upload_count;
                }
            }
        }
        if (in_array($order->status, array('on-hold','pending', 'failed'))) { $notpaid++;}
        endforeach;
        }
        echo '<ul class="clearfix woo-ma-list">';
            if($it) {echo '<li class="woo-ma-link item"><a class="cart-contents-new" href="'.$woocommerce->cart->get_cart_url().'" title="'. __('نمایش درون سبد خریدتان', 'woocommerce-myaccount-widget').'">'.sprintf(_n('<span>%d</span> محصولات در سبد خرید شما', '<span>%d</span> محصولات در سبد خرید شما', $woocommerce->cart->cart_contents_count, 'woocommerce-myaccount-widget'), $woocommerce->cart->cart_contents_count).'</a></li>';}
            if($u && function_exists('woocommerce_umf_admin_menu')) {  echo '<li class="woo-ma-link upload"><a href="'.get_permalink( get_option('woocommerce_myaccount_page_id') ).'" title="'. __('آپلود فایل', 'woocommerce-myaccount-widget').'">'.sprintf(_n('<span>%d</span> فایل برای آپلود', '<span>%d</span> فایل ها برای آپلود', $uploadfile, 'woocommerce-myaccount-widget'), $uploadfile).'</a></li>'; }
            if($up) {echo '<li class="woo-ma-link paid"><a href="'.get_permalink( get_option('woocommerce_myaccount_page_id') ).'" title="'. __('سفارش های پرداخت شده', 'woocommerce-myaccount-widget').'">'.sprintf(_n('<span>%d</span> سفارش های نیازمند پرداخت', '<span>%d</span> سفارش های نیازمند پرداخت', $notpaid, 'woocommerce-myaccount-widget'), $notpaid).'</a></li>';}
            if($p) { echo '<li class="woo-ma-link pending"><a href="'.get_permalink( get_option('woocommerce_myaccount_page_id') ).'" title="'. __('سفارش های ناتمام', 'woocommerce-myaccount-widget').'">'.sprintf(_n('<span>%d</span> سفارش معوق', '<span>%d</span> سفارش معوق', $notcompleted, 'woocommerce-myaccount-widget'), $notcompleted).'</a></li>';}
        echo '</ul>';
        echo '<p><a class="woo-ma-button woo-ma-myaccount-link myaccount-link" href="'.get_permalink( get_option('woocommerce_myaccount_page_id') ).'" title="'. __('حساب من','woocommerce-myaccount-widget').'">'.__('حساب من','woocommerce-myaccount-widget').'</a></p>';
        if($lo==1) { echo '<p><a class="woo-ma-button woo-ma-logout-link logout-link" href="'.wp_logout_url($woo_ma_home).'" title="'. __('خروج','woocommerce-myaccount-widget').'">'.__('خروج','woocommerce-myaccount-widget').'</a></p>'; }
    }
    else {
        echo '<div class=logout>';
        // user is not logged in
        if ( $logged_out_title ) echo $before_title . $logged_out_title . $after_title;
        if(isset($_GET['login']) && $_GET['login']=='failed') {
            echo '<p class="woo-ma-login-failed woo-ma-error">';
            _e('Login failed, please try again','woocommerce-myaccount-widget');
            echo '</p>';
        }
        // login form
        $args = array(
            'echo' => true,
            'form_id' => 'loginform',
            'label_username' => __( 'Username' ),
            'label_password' => __( 'رمز ورود' ),
            'label_remember' => __( 'Remember Me' ),
            'label_log_in' => __( 'Log In' ),
            'id_username' => 'user_login',
            'id_password' => 'user_pass',
            'id_remember' => 'rememberme',
            'id_submit' => 'wp-submit',
            'remember' => false,
            'value_username' => NULL,
            'value_remember' => false ); 
        wp_login_form( $args );
        echo '<a class="woo-ma-link woo-ma-lost-pass" href="'. wp_lostpassword_url().'">'. __('پسوردتان را فراموش کرده اید؟', 'woocommerce-myaccount-widget').'</a>';
        echo ' <a class="woo-ma-button woo-ma-register-link register-link" href="'.get_permalink( get_option('woocommerce_myaccount_page_id') ).'" title="'. __('نام نویسی','woocommerce-myaccount-widget').'">'.__('نام نویسی','woocommerce-myaccount-widget').'</a>';
        echo '<p><a class="woo-ma-button woo-ma-cart-link cart-link" href="'.$woocommerce->cart->get_cart_url() .'" title="'. __('نمایش درون سبد خریدتان','woocommerce-myaccount-widget').'">'.__('نمایش درون سبد خریدتان','woocommerce-myaccount-widget').'</a></p>';
    }
    echo '</div>';
    echo $after_widget;
}

}
load_plugin_textdomain('woocommerce-myaccount-widget', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); 
add_action( 'widgets_init', create_function('', 'return register_widget("WooCommerceMyAccountWidget");') );

/**
* Redirect to homepage after failed login 
* Since 0.2.3
*/
add_action('wp_login_failed', 'wma_login_fail'); 

function wma_login_fail($username){
    // Get the reffering page, where did the post submission come from?
    $referer = parse_url($_SERVER['HTTP_REFERER']);
    $referer= '//'.$referer['host'].'/'.$referer['path'];

    // if there's a valid referrer, and it's not the default log-in screen
    if(!empty($referer) && !strstr($referer,'wp-login') && !strstr($referer,'wp-admin')){
        // let's append some information (login=failed) to the URL for the theme to use
        wp_redirect($referer . '?login=failed'); 
    exit;
    }
}
?>
 

mehdi.260

تازه وارد
سلام:میشه گذینه ازافش کرد

مثلا

پیغام از طرف مدیر:مدیر پیغامی برای کاربر بفرسته که رو اکانتش بیاد.

کد تخفیف ها: مدیر براش کد تخفیف بفرسته که رو اکانتش بیاد.

پشتیبانی:پیغامی به مدیر بفرسته بگه مثلا فلان خریدم مشکل داشته

و....

 

MR.KH

مدیر انجمن ووکامرس
سلام:میشه گذینه ازافش کردمثلا

پیغام از طرف مدیر:مدیر پیغامی برای کاربر بفرسته که رو اکانتش بیاد.

کد تخفیف ها: مدیر براش کد تخفیف بفرسته که رو اکانتش بیاد.

پشتیبانی:پیغامی به مدیر بفرسته بگه مثلا فلان خریدم مشکل داشته

و....
قبلا توضیح داده شده !

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

 

mehdi.260

تازه وارد
سلام

نمیدونم چرا وقتی این افزونه فعال میکنم این ارور میده

افزونه هنگام فعال شدن٬ 2 نویسه از یک خروجی غیرمنتظره تولید کرد. اگر با پیغام خطای “headers already sent”٬ مشکلات مربوط به خوراک و یا مسائل دیگر مواجه شدید سعی کنید افزونه را غیرفعال یا حذف کنید.

 

mehdi.260

تازه وارد
سلام

نمیدونم چرا وقتی این افزونه فعال میکنم این ارور میده

افزونه هنگام فعال شدن٬ 2 نویسه از یک خروجی غیرمنتظره تولید کرد. اگر با پیغام خطای “headers already sent”٬ مشکلات مربوط به خوراک و یا مسائل دیگر مواجه شدید سعی کنید افزونه را غیرفعال یا حذف کنید.

 
بالا