リンク先のタイトルと概要文を取得します。
前回まで
プラグインのひな型を作りました。
今回もコードを書いていく
URLパラメータを取得する
ショートコードが書かれたときに呼ばれるshortcodeにコードを書いていきます。
第一パラメータには指定されたパラメータが連想配列で入ってきます。
$url に urlパラメータで指定された文字列を入れてみましょう。
class popo_blogcard { function __construct() { add_shortcode('blogcard', array($this, 'shortcode' ) ); } function shortcode($opt , $content = null ) { $url = $opt['url']; } } $popo_blogcard = new popo_blogcard;
cURLでアクセスする
cURLという機能を使ってリンク先のHTMLを取得します。
function shortcode($opt , $content = null ) { $url = $opt['url']; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt($ch, CURLOPT_TIMEOUT, 8 ); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true ); curl_setopt($ch, CURLOPT_MAXREDIRS, 8 ); curl_setopt($ch, CURLOPT_AUTOREFERER, true ); curl_setopt($ch, CURLOPT_COOKIESESSION, true ); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false ); $html = curl_exec($ch); curl_close($ch ); }
cURLがエラーだったときの処理
エラーのときはタイトルも概要文も取得できないので、タイトルにURLを入れておきます。
function shortcode($opt , $content = null ) { $url = $opt['url']; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt($ch, CURLOPT_TIMEOUT, 8 ); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true ); curl_setopt($ch, CURLOPT_MAXREDIRS, 8 ); curl_setopt($ch, CURLOPT_AUTOREFERER, true ); curl_setopt($ch, CURLOPT_COOKIESESSION, true ); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false ); $html = curl_exec($ch); if (curl_errno($ch ) ) { $site_name = ''; $title = $url; $excerpt = ''; } curl_close($ch ); }
これで$htmlにリンク先サイトのHTMLが取得できました。
ここからタイトルや概要文を抜粋します。
今回のコード
今回はここまでです。
次回は・・・
今回取得したHTMLからタイトルと概要文を抜粋します。
では、この辺で。(^-^)o
コメント