تغییر توابع در وردپرس

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
سلام .

فک کنید یک افزونه یک تابع تعریف کرده فلان کارو بکنه .

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

کد زیر رو استفاده میکنم عمل نمیکنه ؟


کد:
add_filter( 'tabe1', 'tabe2' );
 

IAMIR

کاربر عضو
چرا توی هوک خود پلاگین اسم تایع ا عوض نمی کنی .؟

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
خب نمیخوام تو هسته افزونه دست ببرم .

چون یه افزونه بومی ساز جانبی دارم براش مینویسم .

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


کد:
public static function get_entry_info_filter_columns($get_users = true){
        $account_choices = array();
        if($get_users){
            $args    = apply_filters("gform_filters_get_users", array("number" => 200));
            $accounts        = get_users($args);
            $account_choices = array();
            foreach ($accounts as $account) {
                $account_choices[] = array("text" => $account->user_login, "value" => $account->ID);
            }
        }
        return array(
            "entry_id" => array(
                "text" => __("Entry ID", "gravityforms"),
                "operators" => array( "is", "isnot", ">", "<")
            ),
            "date_created" => array(
                "text" => __("Entry Date", "gravityforms"),
                "operators" => array( "is", ">", "<"),
                "placeholder" => __("yyyy-mm-dd", "gravityforms")
            ),
            "is_starred" => array(
                "text" => __("Starred", "gravityforms"),
                "operators" => array( "is", "isnot"),
                "values" => array(
                    array(
                        "text" => "Yes",
                        "value" => "1"
                    ),
                    array(
                        "text" => "No",
                        "value" => "0"
                    )
                )
            ),
            "ip" => array(
                "text" => __("IP Address", "gravityforms"),
                "operators" => array( "is", "isnot", ">", "<", "contains")
            ),
            "source_url" => array(
                "text" => __("Source URL", "gravityforms"),
                "operators" => array( "is", "isnot", ">", "<", "contains")
            ),
            "payment_status" => array(
                "text" => __("Payment Status", "gravityforms"),
                "operators" => array( "is", "isnot"),
                "values" => array(
                    array(
                        "text" => "Paid",
                        "value" => "Paid"
                    ),
                    array(
                        "text" => "Failed",
                        "value" => "Failed"
                    ),
                    array(
                        "text" => "Active",
                        "value" => "Active"
                    ),
                    array(
                        "text" => "Cancelled",
                        "value" => "Cancelled"
                    )
                )
            ),
            "payment_date" => array(
                "text" => __("Payment Date", "gravityforms"),
                "operators" => array( "is", "isnot", ">", "<")
            ),
            "payment_amount" => array(
                "text" => __("Payment Amount", "gravityforms"),
                "operators" => array( "is", "isnot", ">", "<", "contains")
            ),
            "transaction_id" => array(
                "text" => __("Transaction ID", "gravityforms"),
                "operators" => array( "is", "isnot", ">", "<", "contains")
            ),
            "created_by" => array(
                "text" => __("User", "gravityforms"),
                "operators" => array( "is", "isnot"),
                "values" => $account_choices
            )
        );
    }
حالا من میخوام داخل افزونه جانبی اون رو به زیر تغییر بدم ولی کار نمیکنه


کد:
add_filter( "get_entry_info_filter_columns", "get_entry_info_filter_columns_by_HANNANStd" );

    function get_entry_info_filter_columns_by_HANNANStd($get_users = true){
        $account_choices = array();
        if($get_users){
            $args    = apply_filters("gform_filters_get_users", array("number" => 200));
            $accounts        = get_users($args);
            $account_choices = array();
            foreach ($accounts as $account) {
                $account_choices[] = array("text" => $account->user_login, "value" => $account->ID);
            }
        }
        return array(
            "entry_id" => array(
                "text" => __("Entry ID", "gravityforms"),
                "operators" => array( "is", "isnot", ">", "<")
            ),
            "date_created" => array(
                "text" => __("Entry Date", "gravityforms"),
                "operators" => array( "is", ">", "<"),
                "placeholder" => __("yyyy-mm-dd", "gravityforms")
            ),
            "is_starred" => array(
                "text" => __("Starred", "gravityforms"),
                "operators" => array( "is", "isnot"),
                "values" => array(
                    array(
                        "text" => "Yes",
                        "value" => "1"
                    ),
                    array(
                        "text" => "No",
                        "value" => "0"
                    )
                )
            ),
            "ip" => array(
                "text" => __("IP Address", "gravityforms"),
                "operators" => array( "is", "isnot", ">", "<", "contains")
            ),
            "source_url" => array(
                "text" => __("Source URL", "gravityforms"),
                "operators" => array( "is", "isnot", ">", "<", "contains")
            ),
            "payment_status" => array(
                "text" => __("Payment Status", "gravityforms"),
                "operators" => array( "is", "isnot"),
                "values" => array(
                    array(
                        "text" => "موفق",
                        "value" => "موفق"
                    ),
                    array(
                        "text" => "ناموفق",
                        "value" => "ناموفق"
                    ),
                    array(
                        "text" => "فعال",
                        "value" => "فعال"
                    ),
                    array(
                        "text" => "لغو شده",
                        "value" => "لفو شده"
                    )
                )
            ),
            "payment_date" => array(
                "text" => __("Payment Date", "gravityforms"),
                "operators" => array( "is", "isnot", ">", "<")
            ),
            "payment_amount" => array(
                "text" => __("Payment Amount", "gravityforms"),
                "operators" => array( "is", "isnot", ">", "<", "contains")
            ),
            "transaction_id" => array(
                "text" => __("Transaction ID", "gravityforms"),
                "operators" => array( "is", "isnot", ">", "<", "contains")
            ),
            "created_by" => array(
                "text" => __("User", "gravityforms"),
                "operators" => array( "is", "isnot"),
                "values" => $account_choices
            )
        );
    }
 
آخرین ویرایش توسط مدیر:

hannanstd.ir

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

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
کار نمیکنه ولی :(( ((

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

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
آقا یکی دست برسونه یه کمکی بکنه .

لااقل بگین چطوری remove filter اش کنم .

---------------------------------------------------------------------------

پ.ن1 : چرا شماره عضویت MOHAMMAD ؛ 1 نیست ؟!! :71:

پ.ن2 : بالاخره شکلک :D هم اضافه شد .... هوراااااااااااا

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

MahdiY

راهبر انجمن


اینجا را دیدی ؟

طبق نمونه که گذاشتی شاید این بشه


کد:
remove_filter( 'tabe1', 'tabe2' );
 
بالا