看名字,一個是小工具的配置數據
專注于為中小企業提供網站設計制作、成都網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業豐都免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了1000+企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
一個是文章數據,
這兩個都是演示數據,xml文件使用wordpress導入工具導入
json看主題后臺設置面板有沒有位置導入。
WordPress添加熊掌號的json_id結構化數據代碼如下:
PHP代碼,用于獲取文章摘要內容,代碼添加在當前主題functions.php中
?php//獲取文章/頁面摘要
function?fanly_excerpt($len=220){
if?(?is_single()?||?is_page()?){
global?$post;
if?($post-post_excerpt)?{
$excerpt??=?$post-post_excerpt;
}?else?{
if(preg_match('/p(.*)\/p/iU',trim(strip_tags($post-post_content,"p")),$result)){
$post_content?=?$result['1'];
}?else?{
$post_content_r?=?explode("\n",trim(strip_tags($post-post_content)));
$post_content?=?$post_content_r['0'];
}
$excerpt?=?preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,0}'.'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s','$1',$post_content);
}
return?str_replace(array("\r\n",?"\r",?"\n"),?"",?$excerpt);
}}?
json_id數據,添加在head頭部中:
script?type="application/ld+json"{
"@context":?"",
"@id":?"?php?the_permalink();??",
"appid":?"這里請填寫熊掌號ID",
"title":?"?php?the_title();??",
"images":?["?php?echo?catch_that_image()??"],
"description":?"?php?echo?fanly_excerpt()?",
"pubDate":?"?php?echo?get_the_time('Y-m-d\TH:i:s')?",
}/script
appid就是熊掌號ID,自己修改一下即可。
以上代碼來源于淚雪博客:網頁鏈接?版權歸屬原作者
某個請求返回JSON之后,使用PHP函數json_decode()解析即可:
先定義一個檢測返回數據是否有效的函數:
?php?
/**
*?驗證返回的有效性
*?@param??[type]?$response?[description]
*?@return?[type]???????????[description]
*?@author?suifengtec???????coolwp.com
*/
function?validate_raw_response(?$response?)?{
if(?is_wp_error(?$response?)?)?
return?false;
$response_code?=?wp_remote_retrieve_response_code(?$response?);
if(?false?===?strstr(?$response_code,?'200'?)?)
return?false;
return?true;
}
2. 據URL和參數返回數據,數據有效了返回,無效了返回false:
/**
*?據提供的URL和參數請求數據
*?@param??[type]?$url??[description]
*?@param??[type]?$args?[description]
*?@return?[type]???????[description]
*?@author?suifengtec???coolwp.com
*/
function?trigger($url,?$args)?{
//?fire?request
$response?=?wp_remote_request(?$url,?$args?);
//?validate?raw?response
if(?validate_raw_response(?$response?)?===?false?)?{
return?false;
}
//?decode?the?response
$_response?=?json_decode(?wp_remote_retrieve_body(?$response?)?);
//?response?should?be?an?object
if(?!?is_object(?$_response?)?)?{
return?false;
}
return?$_response;
}
祝愉快!
如何快速為wordpress網站開發對外的數據接口
隨著移動互聯網的發展,越來越的傳統站點都在為移動化做努力,如開發一套手機專用的網站主題,甚至專門為其開發app!但是開發app(非嵌入移動版網頁的PhoneGap),就會涉及到接口調用!如何才能在不影響網站原來內容、模板的情況下快速開發出可供第三方調用的數據接口呢?
也許有同學會說,wordpress具有強大的主題切換能力,通過一個簡單的主題預覽插件就可以實現不同主題顯示不同的內容,接口就在另一個主題下實現!
沒錯,這種方式確實可以,但是由于wordpress目前cms功能越來越強大,很多網站都使用了自定義模板、register_post_type、register_nav_menus等功能,wordpress的主題切換不能很好的兼容這些地方(即使register_post_type代碼照搬)。即使克服了以上的困難,如果以后網站增加版塊或者新功能,要維護就得同時改動網站主題和api主題模板,工作量巨大。
那么有沒有什么簡單的方法呢?
當然有,不然我在這里羅里吧嗦開頭那些屁話干啥!我的這個方法可以在原有的主題基礎上進行方便的接口開發。
如何做呢?
首先在網站所用主題的functions.php文件中增加以下代碼:
1: if(isset($_GET['json'])){
2: add_filter('template_include','wp_my_api');
3: }
4: function wp_my_api($template){
5: return preg_replace('#([^/]+\.php)#','api/$1',$template);
6: }
然后在網站當前所用主題目錄下新建一個文件夾,名字為“api”。然后把主題下的模板文件復制進api文件夾里,就可以對這些模板進行接口數據轉化了。比如輸出json或者xml等。
這種方法原理就是將wordpress的模板重新定義到api文件下尋找同名模板文件。如果你愿意做更多的探尋,還可以實現更加智能的接口模板匹配功能出來。我這里就展示了最簡單的方法。
這種方法完全不影響網站原有的模板文件,不需要改動任何原有模板,接口的實現在api文件夾下的同名文件里實現。
使用示例
要將你的主題下的page.php模板進行json化輸出,只需要在api文件下新建一個叫page.php的模板(或者復制page.php過來),里面寫入:
1: ?php //這里偷懶了,直接將wordpress的$wp_query對象json化輸出,實際中最好提取自己需要的內容輸出,以減少http傳輸量
2: header("Content-type:application/json");
3: if(isset($_GET['debug'])){
4: print_r($wp_query);
5: }else echo json_encode($wp_query);
比如網站有個頁面,地址是,其對應的接口地址就是。如果要調試,查看json接口,可以加上debug參數,如;debug。
是不是很簡單呢?如果你的網站不需要這個接口了,只需要直接刪除api文件夾就行了。
名稱欄目:json數據wordpress json數據結構
分享地址:http://vcdvsql.cn/article16/dopicdg.html
成都網站建設公司_創新互聯,為您提供云服務器、電子商務、自適應網站、虛擬主機、靜態網站、小程序開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯