WordPress

WordPress記事からPHPファイルを呼び出す方法

WordPressを使っていると、投稿記事や固定ページでもPHPコードやPHPファイルを使いたいことがありますよね。

プラグインで対応できたらと思ったのですが、いまいちいい感じのものが見つからなかったので、今回はコード書き替えで対応します。

ショートコードを使って、PHPファイルを呼び出す方法をご紹介。


 

  • まず、「functions.php」に以下のコードを追加して、ショートコードを設定します。

function shortcode_phpinc( $atts ) {
    extract(
        shortcode_atts(
            array(
                'file' => 'default'
            ),
            $atts
        )
    );

    ob_start();
    include(get_theme_root() . '/' . get_template() . "/$file.php");
    return ob_get_clean();
}
add_shortcode('phpinc', 'shortcode_phpinc');

これで、PHPファイルをショートコードで呼ぶ出すことができるようになります。

  • 該当の記事にショートコードを書き込みます。
[phpinc file="ファイル名(拡張子無し)"]

* [ ] は半角にしてください。

これだけで完了です。


 

追記:『Arconix Shortcodes』というプラグインを入れていると、さらにウィジェットからもショートコードで呼び出すことが可能になります。

「コメント欄」の書き込み可否を簡単に設定するプラグイン「One Click Close Comments」

今回もWordPressのプラグイン紹介です。


 

【コメント欄の書き込み可否設定】

One Click Close Comments

 

ワンタッチでコメント欄受付の可否を個別設定できるプラグインです。

例えば、ある投稿ページにコメントを許可したいものの、1年以上前の投稿欄や特定の固定ページのコメント欄の受付を閉じてしまいたい、そんなときに便利なプラグインです。

719

インストールするとダッシュボードの「投稿一覧」「固定ページ一覧」に黄緑色と赤色の●ボタンが表示されるようになります。

これをクリックするだけで許可の可否を設定できます。黄緑色がコメント許可、赤色がコメントを受け付けない設定と、非常にシンプルです。


 

【参考】

コメント入力欄そのものの簡単なカスタマイズは、

WordPressコメント入力欄のシンプル化カスタマイズ

に書きましたのでそちら参照で。

WordPressのお問い合わせフォーム生成プラグイン「Contact Form 7」

【お問い合わせフォーム生成】

Contact Form 7

すでに何度かご紹介していますが、WordPressでフォーム生成といえばのこれ!といった定番プラグインです。単なる「お問い合わせ」だけでなく、「アンケート」の作成も可能です。

イメージ2904

プラグインをインストールしますとダッシュボードに「お問い合わせ」という項目が出来ますので、そこの「コンタクトフォーム」を見ますと、初めの状態から「コンタクトフォーム 1」というデフォルトのフォームがあります。

[contact-form-7 id=”1234″ title=”コンタクトフォーム 1″]

こんな感じのショートコードができてますので、これを固定ページなどに貼り付けるだけで問い合わせフォームが完成します。

もちろんカスタマイズも可能ですし、「新規追加」で新しいフォーム作れば複数のフォームを作ることも可能です。

また、先ほどできた「コンタクトフォーム 1」もメールの宛先設定だけは自分の物に設定しないといけません。

フォームの見た目のカスタマイズは、HTMLの構文をご存じの方はいろいろ出来るのが『Contact Form 7』の特徴ですが、反面ご存じでない場合は少々分かりづらいかもしれません。

ですが、メールの宛先設定さえしてしまえば、見た目部分はデフォルト設定のままで「お問い合わせフォーム」としては十分機能しますので、ひとまず作る分には大丈夫だと思います。

まずは連絡先を作っておきたい、Google AdSense などの審査を通るためにひとまず「お問い合わせフォーム」が必要!なんて場合でも、このプラグインが一番楽だと思います。


ただ、メールの宛先を設定しても、使うメールアドレス宛先とサーバーの組み合わせによっては、これだけではメールが送信されていない場合があります。こういう場合はプラグイン「WP-Mail-SMTP」も併せてどうぞ。

『Contact Form 7』でメールを送信できないときの対処法


 

また、『Contact Form 7』は、定番プラグインなだけに、スパムが来やすいのが欠点といば欠点です。ですが、簡単な対処方法があります。

『Contact Form 7』の簡単なスパム対策

 

WordPressのバックアップ用プラグイン「BackWPup」

前に「WordPressの簡単セキュリティ対策」でプラグインをいくつか紹介いたしましたが、それ以外、Wordpressを使うならひとまず入れておくことの多い定番をいくつかご紹介していこうかと思います。

今回はその1回目。

IMG_7243

 


 

【バックアップ】

BackWPup

まずはバックアップです。「BackWPup」は、WordPressのブログを作ったら、まず最初に入れても良いくらいの定番プラグインです。

「WordPress cron」というWPに最初から入っている機能を使って定期的にバックアップを行うことができます。もちろん手動ですぐにまとめてバックアップを取ることも可能です。

また、バックアップ先も、サーバー内に圧縮して置いておくだけなく、
DropboxやSugarSyncなどのクラウドに投げたり、メールで送信なんてことも可能です。

ただし、データベースのみをバックアップする場合は良いのですが、
アップロードしたファイル(写真など)もバックアップに含めると、サイトによっては非常に量が大きくなりますのでご注意ください。

この場合に、バックアップ先をクラウドにしますと、途中でタイムアウトしてしまうことが多いです(前にこの問題で途方に暮れたことがあります)。

何をバックアップすべきかは、「BackWPup」のデフォルトでチェックの入ってる3つで良いかと思います。

ただ、この場合、アップロードしたファイルも含まれますので、先に書いたように写真や動画などアップロードしたファイルの多いサイトの場合、量は多くなります。データベースとファイルのバックアップ先を変えるなどして対応してください。

backup


 

【リストア】

不安な場合は、テストサーバーで一度リストア(復旧)の練習をしておくと良いかもしれません。何が復旧に必要なファイルか分かるかと思いますので。

実際に「BackWPup」で取ったバックアップからのリストアする方法は、前に書いた「Sakuraサーバーで間違ってWordPressをアンイストールした場合の対処法。」が参考になるかと思います。

いつまでたってもGoogleにインデックスされないとき。

そういう場合、一般的には理由はいくつかあり得るのですが、今回はまったく難しい話ではなかったです。

WordPressの「検索エンジンがサイトをインデックスしないようにする」のチェックを外すのを忘れてました!!

WordPress 設定>表示設定

111

(スクリーンショットはチェックを外した状態)

ここの「検索エンジンがサイトをインデックスしないようにする」にチェックが入っていると、いつまでたってもGoogleにインデックスされません

当たり前のことなんですが、むしろRobots.txtを自分で書いていたため、Wordpress に疑似Robots.txt生成機能があるのをすっかり忘れていました(涙)

ちなみにこのサイトのことではないのですが、やらかしたー!(恥ずかしいミスです(涙))

WordPressで『下書きをプレビューする権限がありません。』と表示されるときの解決方法

IMG_7154

WordPressで『下書きをプレビューする権限がありません。』と表示されるときの解決方法です。


WordPressダッシュボードの「設定」>「一般」で

WordPress アドレス (URL)  
http://****.sakura.ne.jp/blog

サイトアドレス (URL)    
http://hirunebu.com/blog

このように2つのURLが違ったままにしてる場合に起こります。ドメイン設定や移行をしたときに、ずらしたままにしてる方もいらっしゃるのではないでしょうか。

WordPress アドレス (URL)  
http://hirunebu.com/blog

サイトアドレス (URL)    
http://hirunebu.com/blog

クリップボード06

単純にこのように揃えてしまえばOKです。

(なお、WordPressをサブドメインにインストールした場合は、この方法ではダッシュボードにアクセスできなくなることがあるようですのご注意ください)

Twenty Fourteen で 「おすすめコンテンツ」を使うと、その記事が投稿記事リスト欄から消えてしまうのを戻す方法

IMG_7133

Twenty Fourteen で 「おすすめコンテンツ」も、その記事が投稿記事リスト欄から消えてしまわないようにする方法です。

なんでこんな不思議な仕様にしたんでしょうか。 「おすすめコンテンツ」にするとむしろリストから消えてしまうのでは、すごく読みづらくなるように思います。

そこで、「おすすめコンテンツ」もふつうに投稿記事欄に並ぶようにカスタマイズします。

「inc」ディレクトリにある方の「featured-content.php」の268行目あたりを1行変更。(別の場所にも「featured-content.php」があるのでご注意)

    $query->set( 'post__not_in', $featured ); 

これを

//  $query->set( 'post__not_in', $featured ); 

コメントアウトする(もしくは消す)だけで行けました。案外簡単な対応でいけてよかったですが、これならダッシュボードに選択ボタンを付けて欲しかったですね。

Twenty Fourteenは良いテーマなのですが、こういうところがちょっと荒いかなと思うところがありますね。シンプルなので改造もしやすいですけども。