こんにちは。
今日はWordPressの一部のページをHTTPS接続にすることが出来るプラグイン「WordPress HTTPS (SSL)」を紹介したいと思います。
最近ではウェブサイトの全体をHTTPS化するのが一般的ですが、それでも一部のページのみをHTTPSにしたいという希望は絶えません。
そこでこのプラグインを使えば一部のページのみHTTPSを有効に出来るので色々と捗ります!
“WordPressの一部のページのみをHTTPS接続にするプラグイン「WordPress HTTPS (SSL)」” の続きを読む
WordPressプラグイン「Post Expirator」を日本語化する
こんにちは。
以前の記事で指定時刻に記事を非公開にしたりカテゴリーを変更出来たりするプラグイン「Post Expirator」を紹介しました。
WordPressで指定時刻に記事を非公開にする「Post Expirator」
ただしこれはデフォルトでは英語です。
なのでこれを日本語化する方法を紹介いたします。
“WordPressプラグイン「Post Expirator」を日本語化する” の続きを読む
PCやスマホでテーマを切り替えるWordPressプラグイン「Multi Device Switcher」
こんにちは。
WordPressのテーマを開発しているときに全てレスポンシブデザインにするのは構わないのですが、場合によってはPCとスマホでソースを全て変えたいときがあると思います。
そんなときにオススメのWordPressプラグインは「Multi Device Switcher」です。
このプラグインのよいところは、場合によってはPCテーマとの切り替えを無効に出来る点です(正規表現も可能)
“PCやスマホでテーマを切り替えるWordPressプラグイン「Multi Device Switcher」” の続きを読む
WordPressで指定時刻に記事を非公開にする「Post Expirator」
こんにちは。
WordPressを使っていると、指定した時刻に記事を非公開にしたい!とか指定した時刻に別のカテゴリに変更したい!と
思うこと、よくありますよね。
今回はそのような希望を叶えるWordPressプラグインを紹介したいと思います。
“WordPressで指定時刻に記事を非公開にする「Post Expirator」” の続きを読む
MacのローカルPHPをPHP7にあげました
みなさんこんにちは。
最近あまりPHPを使った案件がないのでPHPのバージョンがまだ5.6だったのでさすがになぁと思いPHP7にあげることにしました。
また、MacのローカルにPHPのバージョン管理環境がなかったため、それも整えることにしました。
ComposerでPackagistに登録されていないプラグインをインストールする方法
みなさんこんにちは!
最近はRailsとSwiftで四苦八苦してるたがみです!
久しぶりにCakePHPを触る機会があり、忘れちゃいけないのでブログに残しとこう!と思った次第です。
今回の例は、
あるプロジェクトでcomposerを使ってプラグイン等を管理しているが、過去のプラグインでPackagistに登録されていない。どうやれば解決出来るんだっけ?
です!
それではいってみましょう!
WordPressのカスタム投稿でarchive内ページネーションを作る方法
予想以上にドはまりしてもう一生やりたくないよ!ってくらいやりたくないのでここでまとめておきますw
相当ごりごりっと解決してしまったのでもっとスマートにやりたかったんですが、色々検索して出てきたものがことごとくうまくいかなかったのでしょうがないです・・・
流れとしては、
- $wp_queryを一時保存して、新たにWP_Queryクラスのインスタンスを$wp_queryに上書きする形で作る
- GETの値を調べる(ページが今何ページか調べる)
- ページネーションの関数で出力する
- $wp_queryを元に戻す
なぜ$wp_queryを上書きするかというと、デフォルトで多くの関数が$wp_queryを使用して関数の出力を行っているためです(まぁglobalなんでね)
実行環境としては
- PHP 5.4.24
- WordPress 3.6.1
それでは以下コードになります。
functions.php
function bmPageNavi() { global $wp_rewrite; global $wp_query; global $paged; $paginate_base = get_pagenum_link(1); if (strpos($paginate_base, '?') || ! $wp_rewrite->using_permalinks()) { $paginate_format = ''; $paginate_base = add_query_arg('page', '%#%'); } else { $paginate_format = (substr($paginate_base, -1 ,1) == '/' ? '' : '/') . untrailingslashit('?page=%#%', 'paged');; $paginate_base .= '%_%'; } $result = paginate_links( array( 'base' => $paginate_base, 'format' => $paginate_format, 'total' => $wp_query->max_num_pages, 'mid_size' => 5, 'current' => ($paged ? $paged : 1), )); return $result; }
archive.php
<?php // initialize $temp = $wp_query; $wp_query = null; $wp_query = new WP_Query(); // 数値のみ受け取る $paged = (preg_match("/^[0-9]+$/",htmlspecialchars($_GET['page']))) ? htmlspecialchars($_GET['page']) : 1; $param = array( 'posts_per_page' => 2, 'paged' => $paged, 'post_type' => your_post_type, 'orderby' => 'post_date', 'order' => 'DESC' ); $wp_query->query($param); get_header(); ?> <?php if ( $wp_query->have_posts() ) : ?> <?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?> <?php endwhile; ?> <?php endif; ?> <?php echo bmPageNavi(); // ページネーション出力 $wp_query = null; $wp_query = $temp; // Reset ?>
これで自分の場合ちゃんと動きました!
最後に
WordPressでもよくあるだろうページネーションでこんなに大変な思いをするとは思ってませんでした。
でももともとページネーションは複雑ですししょうがないですよね。最終的にどうにかなってよかったです。
ソシム
売り上げランキング: 10,185
CakePHPのfind()でjoinオプション使う場合はfieldsもちゃんと指定しよう
タイトルとおりのことです。
うまくjoin出来てるはずなのにな〜〜なんでだろうなぁ、sql_dumpでちゃんと思い通りのSQL発行されてるのにな〜なんだろうなぁ・・・と思い、色々optionを指定していたらタイトルとおりのことが出来ていなかったせいで結果が反映されていませんでした。
下記のようなコードを書いた場合はちゃんとfieldsも指定しましょう
$this->User->find('all', [ 'joins' => [ 'comment' => [ 'table' => 'comment', 'alias' => 'Comment', 'type' => 'inner', 'conditions' => [ 'User.id = Comment.user_id' ] ] ], 'fields' => '*' ]);
これで解決。めでたしめでたし!
参考:http://stackoverflow.com/questions/4354846/cakephp-display-custom-fields-from-array/4355357#4355357
cakePHP2.0のfindでINNER JOINしてもJOINしたテーブルが表示されない
秀和システム
売り上げランキング: 91,713
知っていると便利なのかもしれないCakePHP2のコアライブラリ 〜Inflector編〜
みなさんこんにちは!
昨日更新した記事が、僕自身の勉強にもなってるなぁと感じたので調子にのって楽しそうなコアライブラリを探しました!
今日書くのはInflectorクラスです。
知っていると便利なCakePHP2のコアライブラリ 〜String編〜
CakePHP2を使い始めて約2年が経ちましたが最近やっとコアライブラリまで目がいくようになりました(遅い)
CakePHPにはコアライブラリとしてたくさんの便利な関数がつまっています。
これらを知っているだけでも開発が相当便利になるなぁと最近感じているのでその中から今回は「String」ライブラリの中から便利だなぁと思う関数を紹介したいと思います。