WordPressの一部のページのみをHTTPS接続にするプラグイン「WordPress HTTPS (SSL)」

30389141540_8888175780_b
こんにちは。
今日はWordPressの一部のページをHTTPS接続にすることが出来るプラグイン「WordPress HTTPS (SSL)」を紹介したいと思います。
最近ではウェブサイトの全体をHTTPS化するのが一般的ですが、それでも一部のページのみをHTTPSにしたいという希望は絶えません。
そこでこのプラグインを使えば一部のページのみHTTPSを有効に出来るので色々と捗ります!
“WordPressの一部のページのみをHTTPS接続にするプラグイン「WordPress HTTPS (SSL)」” の続きを読む

WordPressプラグイン「Post Expirator」を日本語化する

29760661056_34d79ed2b2_b

こんにちは。
以前の記事で指定時刻に記事を非公開にしたりカテゴリーを変更出来たりするプラグイン「Post Expirator」を紹介しました。
WordPressで指定時刻に記事を非公開にする「Post Expirator」

ただしこれはデフォルトでは英語です。
なのでこれを日本語化する方法を紹介いたします。
“WordPressプラグイン「Post Expirator」を日本語化する” の続きを読む

PCやスマホでテーマを切り替えるWordPressプラグイン「Multi Device Switcher」

30592266464_b0e3466c74_b
こんにちは。
WordPressのテーマを開発しているときに全てレスポンシブデザインにするのは構わないのですが、場合によってはPCとスマホでソースを全て変えたいときがあると思います。
そんなときにオススメのWordPressプラグインは「Multi Device Switcher」です。
このプラグインのよいところは、場合によってはPCテーマとの切り替えを無効に出来る点です(正規表現も可能)
“PCやスマホでテーマを切り替えるWordPressプラグイン「Multi Device Switcher」” の続きを読む

WordPressで指定時刻に記事を非公開にする「Post Expirator」

161202
こんにちは。

WordPressを使っていると、指定した時刻に記事を非公開にしたい!とか指定した時刻に別のカテゴリに変更したい!と
思うこと、よくありますよね。
今回はそのような希望を叶えるWordPressプラグインを紹介したいと思います。
“WordPressで指定時刻に記事を非公開にする「Post Expirator」” の続きを読む

ComposerでPackagistに登録されていないプラグインをインストールする方法

みなさんこんにちは!

最近はRailsとSwiftで四苦八苦してるたがみです!
久しぶりにCakePHPを触る機会があり、忘れちゃいけないのでブログに残しとこう!と思った次第です。

今回の例は、
あるプロジェクトでcomposerを使ってプラグイン等を管理しているが、過去のプラグインでPackagistに登録されていない。どうやれば解決出来るんだっけ?
です!

それではいってみましょう!

“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でもよくあるだろうページネーションでこんなに大変な思いをするとは思ってませんでした。
でももともとページネーションは複雑ですししょうがないですよね。最終的にどうにかなってよかったです。

WordPressレッスンブック HTML5&CSS準拠
エビスコム
ソシム
売り上げランキング: 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したテーブルが表示されない

詳解CakePHP辞典―2.0/2.1/2.2/2.3対応
滝下 真玄
秀和システム
売り上げランキング: 91,713

知っていると便利なCakePHP2のコアライブラリ 〜String編〜

CakePHP2を使い始めて約2年が経ちましたが最近やっとコアライブラリまで目がいくようになりました(遅い)
CakePHPにはコアライブラリとしてたくさんの便利な関数がつまっています。
これらを知っているだけでも開発が相当便利になるなぁと最近感じているのでその中から今回は「String」ライブラリの中から便利だなぁと思う関数を紹介したいと思います。

“知っていると便利なCakePHP2のコアライブラリ 〜String編〜” の続きを読む