• مدل های خروجی Json
  • هوک اکشن های سازنده مدل ها
  • هوک اکشن های سازنده مدل چیست؟
  • هوک اکشن سازنده مدل پست (post)
  • هوک اکشن سازنده مدل دسته بندی (Category)
  • هوک اکشن سازنده مدل محصول (Product)
  • هوک اکشن سازنده مدل دیدگاه (Comment)
  • هوک اکشن سازنده نویسنده یا کاربر (Author)
  • هوک اکشن های ذخیره و نمایش
  • هوک اکشن های رویدادها
  • دانلود پلاگین های JoApp API

  • هوک اکشن های سازنده مدل چیست؟

    هوک اکشن های سازنده مدل چیست؟

    ساختار مدل ها در بخش مدل های خروجی JoApp API آموزش داده شده اند.

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

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

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

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

    <?php
    
    function init_model_test($model){
        $model->field = "Value";
    }
    
    ?>
    هوک اکشن سازنده مدل پست (post)

    هوک اکشن سازنده مدل پست (post)

    joapp_api_action_post_init

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

    مثال : میخواهیم هر پستی در اپلیکیشن ایجاد میشود فیلد تاریخ آن به تعداد کامنت ثبت شده برای آن تغییر یابد.

    <?php
    
    add_action("joapp_api_action_post_init", "function_joapp_api_action_post_init");
    
    function function_joapp_api_action_post_init($model) {
        $count_comment = wp_count_comments( $model->id );
        $model->date = "☻ $count_comment->approved";
    }
    
    ?>

     

    هوک اکشن سازنده مدل دسته بندی (Category)

    هوک اکشن سازنده مدل دسته بندی (Category)

    joapp_api_action_category_init

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

    مثال : میخواهیم هر مدل دسته بندی در هرکجای اپلیکیشن تعریف میشود عنوان آن به حروف بزرگ لاتین تغییر یابد.

    <?php
    
    add_action("joapp_api_action_category_init", "function_joapp_api_action_category_init");
    
    function function_joapp_api_action_category_init($model) {
        $model->title = strtoupper($model->title);
    }
    
    ?>

     

    هوک اکشن سازنده مدل محصول (Product)

    هوک اکشن سازنده مدل محصول (Product)

    joapp_api_action_product_init

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

    مثال : میخواهیم در فروشگاه اپلیکیشن در ابتدای عنوان محصولات پیشنهاد شده کاراکتر ستاره قرار دهیم.

    <?php
    
    add_action("joapp_api_action_product_init", "function_joapp_api_action_product_init");
    
    function function_joapp_api_action_product_init($model) {
        if($model->featured){
            $model->title = "*** ".$model->title;
        }
    }
    
    ?>

     

    هوک اکشن سازنده مدل دیدگاه (Comment)

    هوک اکشن سازنده مدل دیدگاه (Comment)

    joapp_api_action_comment_init

    توابع این هوک اکشن زمانی اجرا میشود که در یک بخش از اپلیکیشن یک مدل دیدگاه صدا زده شود (ایجاد شود).

    مثال : میخواهیم نام نویسنده هر دیگاهی در اپلیکیشن مخفی شود.

    <?php
    
    add_action("joapp_api_action_comment_init", "function_joapp_api_action_comment_init");
    
    function function_joapp_api_action_comment_init($model) {
        $model->name = "";
        if (isset($model->author->name)) {
            $model->author->name = "";
            $model->author->first_name = "";
            $model->author->last_name = "";
            $model->author->nickname = "";
        }
    }
    
    ?>

     

    هوک اکشن سازنده نویسنده یا کاربر (Author)

    هوک اکشن سازنده نویسنده یا کاربر (Author)

    joapp_api_action_author_init

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

    مثال : فرض میکنیم قرار است تصویر پروفایل مدل همه کاربرانی که در اپلیکیشن (در هر بخشی) ساخته میشود را به تصویر avatar.png تغییر دهیم.

    <?php
    
    function function_joapp_api_action_author_init($model) {
       $model->avatar['thumbnail']['url'] = "http://domian.com/avatar_small.png";
       $model->avatar['full']['url'] = "http://domian.com/avatar_large.png";
    }
    
    ?>