lambry/apison
Composer 安装命令:
composer require lambry/apison
包简介
WordPress plugin to fetch, cache and access API data.
关键字:
README 文档
README
Apison is little WordPress plugin to fetch, cache and access API data (JSON).
Simply add your api endpoints (with token if applicable) in the WordPress admin (under Settings->Apison), then you can access the cached API data via the helper class or rest endpoints.
Installing
Either run composer require lambry/apison or just download this repo and install it via the WordPress admin.
Admin interface
Fetching cached API data via PHP
<?php use Lambry\Apison\Frontend\Api; // Get all jobs Api::get('jobs')->all(); // Get full forcast with just humidity and temperature fields Api::get('forcast')->with(['humidity', 'temperature'])->all(); // Get all contacts with a role of either sales or marketing Api::get('contacts')->where('role', ['sales', 'marketing'])->all(); // Get the last 10 listings that have a price greater than 100 Api::get('listings')->where('price', 'gt', 100)->last(10); // Get the first 20 events offset by 20 that are not in the sports category Api::get('events')->where('category', 'not', 'sports')->first(20, 20); // Get the title and price for all products that are currently on sale and are priced under 50 Api::get('products')->where('sale', true)->and('price', 'lt', 50)->with(['title', 'price'])->all();
Fetching cached API data via rest endpoints
<!-- Get all jobs --> /wp-json/apison/jobs <!-- Get full forcast with just humidity and temperature fields --> /wp-json/apison/forcast?with=humidity,temperature <!-- Get all contacts with a role of either sales or marketing --> /wp-json/apison/contacts?role=sales,marketing <!-- Get the last 10 listings that have a price greater than 100 --> /wp-json/apison/listings?price.gt=100&last=10 <!-- Get the first 20 events offset by 20 that are not in the sports category --> /wp-json/apison/events?category.not=sports&first=20,20 <!-- Get the title and price for all products that are currently on sale and are priced under 50 --> /wp-json/apison/products?sale=true&price.lt=50&with=title,price
Filters
apison/key: allows you to supply an api key, just use _key_ as a placeholder when adding a new url.
apison/cache: filters the avaible options in the admin cache select box, i.e. 15mins, 1hr etc.
apison/permission: sets which permission to use when registering the admin menu.
<?php // Setting api keys add_filter('apison/key', function($slug) { switch ($slug) { case 'events': return env('EVENTS_API_KEY'); break; case 'weather': return env('WEATHER_API_KEY'); break; } }); // Adding new cache durations add_filter('apison/cache', function($options) { $options['10080'] = '1 week'; return $options; }); // Altering permissions to see the plugin admin add_filter('apison/permission', function() { return 'manage_network'; });
Notes
The accepted where/and clause opterators are: is, not, gt (greater than), lt (less than), gte (greater than or equal to) and lte (less than or equal to).
Any cached anypoint can be forcibly refreshed by hitting refresh/endpoint i.e. /wp-json/apison/refresh/jobs or /wp-json/apison/refresh/forcast.
This plugin requires WordPress 4.8.0+ and PHP 7.1.0+.
统计信息
- 总下载量: 9
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-2.0-or-later
- 更新时间: 2019-09-14
