Blogブログ

Category: wordpress

Get post from multiple blogs

WordPress のマルチブログから記事を持ってくる関数を作成。 こちらを参考にさせて頂きました。ありがとうございます。 http://blog.cgfm.jp/garyu/archives/2223 $showpostsで表示数を設定可能。 function get_posts_from_all($showposts, $denyBlogs = array()) { global $wpdb; // current blog id $mysiteid = $GLOBALS[‘blog_id’]; // get child blog ids $blogList = $wpdb->get_results(” SELECT blog_id FROM $wpdb->blogs ORDER BY blog_id” ); // post count $pcount = 0; $should_get_amount = $showposts * count($blogList); foreach ($blogList as $blog) { $blog_id = $blog->blog_id; […]

サイズ可変の動画はめ込みiframe

レスポンシブデザインで動画を使う場合、ユーザはyoutubeやvimeoからはめ込みURLを取ってくるのが一般的だと思う。 その場合の固定されてるサイズを、可変にする方法。 参考にしたのはこちら。 http://css-tricks.com/NetMag/FluidWidthVideo/demo.php (function($){ var $myVideos = $(“iframe[src^=’http://player.vimeo.com’], iframe[src^=’http://www.youtube.com’], object, embed”), $myVideos.each(function() { $(this).attr(‘data-aspectRatio’, this.height / this.width) .removeAttr(‘height’) .removeAttr(‘width’); }); $(window).resize(function() { $myVideos.each(function() { var $this = $(this); var newWidth = $this.parent(“div.vimeo”).width(); $this.width(newWidth).height(newWidth * $this.attr(‘data-aspectRatio’)); }); }).resize(); })(jQuery); 今回のポイントは2つ。 1)jQueryセレクタで、^=って使ったことなかった。 便利だな、覚えておこう。 (この場合の iframe[src^=’http://.. は、http://..から初めまる、という意味。) 2)iframeにattiribute data-aspectRatioを付与して縦横比率を持たせている。 HTML5で追加された、独自データ属性を使っている。 http://www.html5.jp/tag/attributes/data.html 値をもたせる場所に悩むことがあったが、これで解決するな。 勉強になりました。感謝。

WordPressでAJAX

wordpressでajax!! 個人的にはajax遷移の動きが非常に気に入っている。 Wordpressで使得時の、実装方法をまとめてみた。 僕がよくやる、ajax&PHPで仕組みを作る場合、 ・jsでトリガー ・PHP関数に値を投げる ・json形式で結果を受け取る ・jsでエレメントを描画 とゆう流れなんだが、これをWordpressでやってみる。 まず、必要なのはjs, php 今回は練習として、アーカイブページでカテゴリー検索!というのを作ってみる。 ■ Create JS onload_post_archive.jsの名前でファイルを作成。 themedir/js/に置く。 ■ Hook the action. ここで、ajax_archive_posts.phpというファイル作成。 themedir/に置くとする。 この中に、以下を記載。 // Add js add_action( ‘wp_head’, ‘add_script_for_ajax_post_archive’ ); if(!function_exists(“add_script_for_ajax_post_archive”)): function add_script_for_ajax_post_archive(){ wp_enqueue_script(‘onload_post_archive’, get_template_directory_uri(). “/js/onload_post_archive.js”); wp_localize_script(‘onload_post_archive’, ‘OLPR’, array( ‘endpoint’ => admin_url(‘admin-ajax.php’), ‘action’ => ‘get_ajax_pdf_request’ )); } endif; // Define function add_action(‘wp_ajax_get_ajax_post_archive, ‘_get_ajax_post_archive); add_action(‘wp_ajax_nopriv_get_ajax_post_archive’, […]