• مدل های خروجی Json
  • هوک اکشن های سازنده مدل ها
  • هوک اکشن های ذخیره و نمایش
  • هوک اکشن های رویدادها
  • دانلود پلاگین های JoApp API

  • هوک اکشن سازنده مدل دسته بندی (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;
        }
    }
    
    ?>

     

    مدل پست ها

    مدل پست ها

    پست ها با استفاده از ساختار مدل زیر به صورت JSON در اپلیکیشن ارسال میگردد:

    {
    	"id": 87,
    	"type": "post",
    	"slug": "string-slug-post",
    	"url": "http:\/\/domain.com",
    	"status": "publish",
    	"title": "post title :",
    	"title_plain": "post title :",
    	"content": "<p>Post Content<\/p>",
    	"excerpt": "<p>Post Short Content<\/p>\n",
    	"date": "2018-01-01",
    	"modified": "1521891640",
    	"categories": [{
    		"id": 20,
    		"slug": "slug-categories",
    		"title": "title categories",
    		"description": "text",
    		"parent": 0,
    		"post_count": 2,
    		"image": "",
    		"sliders": [],
    		"post_view": "one_news_large"
    	}],
    	"tags": [],
    	"author": {
    		"id": 1,
    		"slug": "admin",
    		"name": "admin name",
    		"first_name": "Jack",
    		"last_name": "Oliver",
    		"nickname": "J-O",
    		"url": "",
    		"description": "",
    		"avatar": {
    			"thumbnail": {
    				"url": "avatar url",
    				"height": 75,
    				"width": 75
    			},
    			"full": {
    				"url": "avatar url full size",
    				"height": 1024,
    				"width": 1024
    			}
    		},
    		"email": "c10e29a38cd1a212fbb416678b4f0d1d"
    	},
    	"comments": [],
    	"attachments": [],
    	"comment_count": 1,
    	"comment_status": "open",
    	"thumbnail": "http:\/\/domain.com\/wp-content\/uploads\/2017\/06\/icon_2-300x300.png",
    	"custom_fields": [{
    		"title": "111111",
    		"type": "Download",
    		"value": ["111111"],
    		"key": "joapp_field_0"
    	}],
    	"thumbnail_size": "thumbnail"
    }

     

    مدل دسته بندی ها (Category)

    مدل دسته بندی ها (Category)

    یک مدل از یک دسته بندی در JoApp API به صورت زیر به اپلیکیشن ارسال میشود. این مدل Json میتواند آرایه ای از دسته بندی ها بوده و یا برای نمایش یک دسته بندی استفاده شود :

    نکته : در یک دسته بندی ممکن است تصاویر Slider نیز وجود داشته باشد که در آرایه ای با نام sliders قابل شناسایی است.

    {
    	"id": 1,
    	"slug": "SLUG CATEGORY",
    	"title": "TITLE CATEGORY",
    	"description": "",
    	"parent": 0,
    	"post_count": 13,
    	"image": "ICON URL CATEGORY",
    	"sliders": [{
    		"url": "URL IMAGE SLIDER",
    		"intent": "URL OR INTENT LINK SLIDER"
    	},
    	....],
    	"post_view": "VIEW TYPE CATEGORY",
    	"is_menu": true
    }

     

    هوک اکشن سازنده مدل دیدگاه (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";
    }
    
    ?>

     

    هوک اکشن رویداد دریافت دیدگاه های یک پست

    هوک اکشن رویداد دریافت دیدگاه های یک پست

    joapp_api_action_get_comment

    با هوک اکشن فوق هر زمان که از طرف اپلیکیشن دیدگاههای یک نوشته درخواست میشود تابع تعریف شده در add_action وردپرس صدا زده شده و با استفاده از متغیر گلوبال joapp_result میتوانید عملیات کنترلی خود را انجام دهید.

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

    <?php 
    
    add_action("joapp_api_action_get_comment", "function_name_hook_action_get_comment");
    
    function function_name_hook_action_get_comment() {
        global $joapp_result;
    
        $post = $joapp_result['post'];
        $comments = $post['comments'];
        
        foreach ($comments as $comment) {
            $comment->date = "مخفی شده";
        }
    }
    
    ?>

     

    هوک اکشن اطلاعات کاربری

    هوک اکشن اطلاعات کاربری

    joapp_api_action_get_user

    این هوک اکشن زمانی رخ میدهد که اطلاعات کاربری برای ورود به اپلیکیشن درخواست شود. خروجی این هوک در متغیر گلوبال joapp_result در دسترس بوده و اطلاعات کاربری در فیلد authors به صورت آرایه ای از کاربران در دسترس میباشد.

    مثال : در مثال زیر nickname کاربر لاگین شده با دو کاراکتر “♥” تکمیل میشود:

    <?php
    
    add_action("joapp_api_action_get_user", "function_name_hook_action_get_user");
    
    function function_name_hook_action_get_user() {
        global $joapp_result;
    
        $author = $joapp_result['authors'][0];
        $author->nickname = '♥ ' . $author->nickname . ' ♥';
    }
    
    ?>

     

    هوک اکشن رویداد دریافت لیست برگه ها (صفحات مهم)

    هوک اکشن رویداد دریافت لیست برگه ها (صفحات مهم)

    joapp_api_action_get_page_index

    ساختار مدل برگه ها دقیقا مانند پست ها میباشد. در اپلیکیشن برگه ها با عنوان “صفحات مهم” یاد شده است. برای مدیریت محتوای لیست برگه ها میتوانیم از هوک اکشن فوق استفاده نماییم. این برگه ها که توسط مدیر سایت مشخص شده اند در آرایی با نام pages و در متغیر گلوبال joapp_result در دسترس میباشد.

    ساختار joapp_result به صورت json به شکل زیر میباشد:

    {
        "pages":[ 
            { /** POST MODEL **/ },
            { /** POST MODEL **/ }, 
            ... 
        ]
    }
    هوک اکشن رویداد عضویت یک کاربر

    هوک اکشن رویداد عضویت یک کاربر

    joapp_api_action_register_user

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

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

    <?php
    
    add_action("joapp_api_action_register_user", "function_name_hook_action_register_user");
    
    function function_name_hook_action_register_user() {
        global $joapp_result;
        $autor = $joapp_result['autors'][0];
        $user_info = get_userdata($autor->id);
        $mailadress = $user_info->user_email;
        wp_mail($mailadress, "خوش آمدید", "از عضویت شما در اپلیکیشن ما سپاسگزاریم");
    }
    
    ?>