リンク先のタイトルと概要文を取得します。
前回まで
プラグインのひな型を作りました。
今回もコードを書いていく
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


コメント