WordPress 投稿の順番を変更する

WordPress

WordPress 投稿の順番を変更する

WordPress3.2.1

投稿(Post)でサイトを作ると、カテゴリなどの制御ができて楽ですが、順番を変更するのがめんどうですよね。

最初は関数を使ってなんとかしようとしていましたが、なんかかゆい所に手が届かない感じです。

トライした方法①

  • query_postsのパラメーターで何とかする


この方法だと
‘ID’,’author’,’title’,’date’,’modified’,’parent’,’rand(ランダム)’,
‘comment_count(コメント数)’ ,’menu_order(Page Orderの順番)’,
‘meta_value’,’meta_key=keyname’,’meta_value_num’
でしかソートできません。

‘meta_value’,’meta_key=keyname’を複合的に利用して作ると、カスタムフィールドを設定すれば並び替えができます。

これでOKかと思いきや、この取得方法だと、カスタムフィールドを設定しないと取得してくれないんですね。
すでに大量の投稿があるWordPressサイトとかだとちょっと無理だと思います。

そこで、恣意的に順番を設定するために、slugで順番を設定できる次のプラグインを導入するのが一番よさそうです。

Custom Post Order
http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/query_posts

プラグインを普通に導入し、
ダッシュボード>設定>Custom Post Order Options
から設定が可能です。

ソートする項目、降順か昇順かの選択、適用するカテゴリを選択します。
適用するカテゴリが選べるのがいいですね!
かゆいところに手が届く、親切プラグインです。[smile]

WordPress 投稿のレイアウトをカテゴリーごとに変更する

WordPress3.5.4

WordPress 投稿のレイアウトをカテゴリーごとに変更する

WordPressの投稿のレイアウトを、カテゴリーごとに変更する方法です。
非常に単純なので、もっといいやり方があるかもしれませんが…。

  1. テーマの中のcontent.phpなどの、投稿を表示するプログラムの冒頭に、たとえばresumeというカテゴリーの場合、content-resume.phpを表示させたい、という場合
  2.  <?php
      if (in_category(resume)) {
        include(TEMPLATEPATH . '/content-resume.php');
     }else{
     ?>
     //もともとのcontent.phpの中身がここに続きます。
     <?php } ?>
    

    WordPress カテゴリーごとの投稿を表示するレイアウトをカテゴリーで変更する

    WordPressでのサイト構築のご依頼は

WordPress 問い合わせを作るプラグインの決定版2014

WordPress

WordPress 問い合わせを作るプラグインの決定版2014

WordPressで問い合わせフォームを作る、というと、大体の日本人がContact Form7を利用されているでしょう。

Contact Form7はすばらしいプラグインです。
使いやすい、わかりやすい、余計な機能がない。

しかし、私にとって、一つの不満は、フォームを送信した後のメッセージがフォームの下に地味に出るだけなので、送った人はメッセージが送信されたことに気がつかない、ということでした。

なので、送ったら、画面遷移したいなー と思っておりそのようなフォームのプラグインを探していたところ、大変よいプラグイン、Ninja Formsを見つけたので、紹介したいと思います。

Ninja Formsは何がよいのか?
次の点で、優秀です。

  1. 送信された情報を、WordPressの管理画面から閲覧でき、CSVにエクスポートできる。これは使えます。問い合わせ内容というのは、大体の会社にとって相当重要な情報なので、メールだけで保存しておくのはいかがなものか、ということで、大体ExcelやDBに保管していると思われますが、その手間が省けます。
  2. フィールドの設定を非常に細かく設定できる。 (例:フィールドのデフォルト入力値、説明(はてなマークとかのアイコンで表示されるやつなど)
  3. 送信された後に、違う画面を表示
  4. 有料だけどエクステンション(拡張機能)が非常に豊富。

下記のページで一覧があります。
http://ninjaforms.com/extensions/
たとえば、Aという項目を選択した人は、Bの質問項目を聞く、とかが可能なプラグインは約3000円ぐらいです。自分で作るめんどくささと時間を考えると、安いもんだと思われます。
http://ninjaforms.com/extensions/conditional-logic/
MailChimpと連携する機能もありますね。

さてさて、このように機能豊富なNinja Formsですが、直感的にわからないところもあったので、少々解説しておきます!

  • まず、プラグインをインストールすると、左のサイドバーにFormsという項目ができます。Add Newとクリックし、フォームの名前を入力します。

ninja_form1.png

  • Field Settingsというタブで、フィールドの設定ができます。左側のベインから、たとえば姓を入力してほしかったら、Last Nameというタブをクリックして、日本語でLabelを「姓」という名称に変更します。ここでのポイントは、右上の▼を押して折りたたまないと、フィールドが折りたたまれないので、画面が縦になって見づらいということです。

ninja_form2.png
また、送信ボタンについても、ここで設定する必要があるので、Submitボタンをフィールドとして追加するのを忘れないようにします。

  • 送信後のアクションは、Notificationsというタブで設定します。

ここでのポイントは、一つのフォームにつき、メールを送る、とか、「お問い合わせ有難うございました。」というメッセージを表示する画面を表示する、などは個別に設定する、ということです。
たとえば、メールを設定する場合は赤マルのTypeを「Email」に設定しなければいけません。
ninja_form3.png

  • 英語で表示されている「Fields marked with a * are required」などの文章は、Forms→Settings→Labelsで変更できます。
  • これでフォームが大体できあがったと思います。ちなみに、私のブログのこのページにもつけてあります。

http://summer-snow.sakura.ne.jp/wordpress/about/

  • あとは、送信された内容を管理画面で見る方法ですが、Forms→Submissionsで見れます。

ここの注意点としては、フォームを赤マルで印をつけたところで選択しないと、なんの情報も見られない、ということです。
ninja_form4.png

Ninja Forms公式ページはこちら
https://wordpress.org/plugins/ninja-forms/

WordPressのカスタマイズ、システム開発、ホームページ作成はこちら

WordPress 会員制サイトにし、ログイン後もフォローする

WordPress

WordPress 会員制サイトにし、ログイン後もフォローする

WordPressを会員制サイトにし、しかもそのあと使いやすいものにする方法を一連の流れで教えちゃいます!

会員制サイトにする、ということは、つまりログインを必要にする、ということです。

これはプログラムの変更が必要です。

1.
themes/functions.phpに次の関数と、add_actionを加えます。

 function require_login() {
  
 	if ( ! isset($Ktai_Style) || ! $Ktai_Style->is_ktai() || @$_COOKIE[KTAI_COOKIE_PCVIEW] ) {
 
 		if ( ! is_user_logged_in() && ! preg_match( '/^(wp-login\.php|async-upload\.php)/', 

           basename( $_SERVER[‘REQUEST_URI’] ) ) && ! ( defined( ‘DOING_AJAX’ ) && DOING_AJAX ) && ! ( defined( ‘DOING_CRON’ ) && DOING_CRON ) ) {

 			auth_redirect();
 		}
 	}
 }
 
 add_action( 'init', 'require_login' );

すると、WordPressにアクセスすると、必ずログインが必要になります。

2.
ここで困ったことが起こります。
ログインすると、デフォルトでは管理画面へ行ってしまうのです。
管理者はそれでいいんですが、購読者とかは、管理画面へ行っても仕方ないので、購読者にはすぐにサイトに行ってほしいですよね。

そのために、Peter’s Login Redirect というプラグインがあります。
http://wordpress.org/plugins/peters-login-redirect/

導入すると、ダッシュボードの設定に、Login/logout redirectsという項目が増えます。
クリックすると、下記のような画面になるので、Specific rolesの下の方にあるAddでSubscriberを選択肢、URLにリダイレクトさせたいURLを入力します。

peters_login_redirect.png

すると、購読者はログインしたらサイトのTOPへ行き、管理者はダッシュボードへ行くようになります[smile]

3.
しかし、あることに気が付きます…
購読者が特定のページへ行きたいな~と思い、そのURLを張りつけても、リダイレクトされるのはTOPページだけ…再度URLを入力するのが面倒だということです。

この点、ピーターはすごい気がつく人です。

この同じ管理画面の一番下に
Allow a POST or GET “redirect_to” variable to take redirect precedence
という項目がありますから、それをYesにします。

これで、運用はバッチリですね!![smile]

WordPress リビジョンを表示する

WordPress
バージョン 3.2.1

WordPress リビジョンを表示する

WordPressを利用して編集しているときに、
「あ、間違っちゃった!元のページに戻したい!」
ということがありますよね。

WordPressにはデフォルトで投稿のバージョンを取っておいて、その中身も取っておいてくれる簡易的なバージョン管理の機能があります。
便利です!!!

デフォルトだと隠れていて気付かないので、次のようにして表示させましょう。

  1. 「投稿を編集」の画面を開いておく
  2. 右上の「表示オプション」をクリック
  3. 「リビジョン」にチェックを入れる

表示オプションは、管理画面のそれぞれのページの表示オプションなので、ダッシュボードのTOP画面で表示オプションを開いても、「リビジョン」の項目はないので、注意しましょう。