• HOME
  • Web制作
  • Wordpressサイドバーウィジェットではphpは使えない!その理由は

WordPressサイドバーウィジェットではphpは使えない!その理由は

 
  基本的なミス

こんにちは、キリカブです。
今日は初歩的なミスの話です。
Wordpressのサイドバーにソーシャルメディアのシェアボタンを入れたのに、うまく働かない体験をした時のことです。
ポップアップボタンは開いてすぐ閉じてしまう…、phpで出力したタイトルがそのままphpで表示されてしまうなどの問題が続出していました。

どう

サイドバーに各記事ページのシェアボタン(フェイスブック・ツイッター、グーグルプラス)を、フッターにはトップページのシェアボタンを入れていました。フッターの方は何の問題もなく作動していたのですが…
ググっても役に立つ情報は何も出てこない…あせりました。そこで取った対処法がこれらの方法でした。

取った対策その①テンプレートタグを変えてみる

snsのurlやタイトルをエンコードして取得して出力するphpのタグ <?php echo urlencode(get_the_permalink()); ?>を変えてみました。urlをエンコードする”urlencode”を削除してみたり、 <?php get_the_permalink(); ?>に変更してみたりしました。

結果は、特に何も変わりませんでした。

取った対策その②cssを変更してみる

FBのヘルプページで、cssのoverflowがhiddenになっていると、ポップアップが表示されないことがあるとのこと。

フェイスブックのポップアップがまさにその状態だったので、これだ!と思いさっそくcssに body{overflow:hidden;} あるいは html{overflow:hidden;} を入れてみました。がやはり表示されず…

取った対策その③プラグインを停止

WordPressプラグインのAll in one seo packaを入れており、ソーシャルメディアのアカウント設定などをしていました。

このプラグインが何か影響を及ぼしているのかもと思い、プラグインを停止して試してみましたが、何も変わりませんでした。

原因はこんな初歩的なミスだった!

その後四苦八苦し、人に聞くなどして判明した原因は、とても単純明快でした。それは基本的に
「ウィジェットではphpは使えない」ということ。

そう、私は管理画面から編集するウィジェットに、phpを挿入していたのでした。
ウィジェットに限らず、管理画面から編集する記事ページには、phpは使えません。
htmlタグを生成するphpタグが使えなかったため、ポップアップがすぐ閉じたり、phpタグがテキストとして出力されてしまっていたのでした。(※プラグインを使用したり、functions.phpにショートコードの設定をすれば使えます)

がっかりすると同時に1つの教訓が生まれました。それはググっても何も出てこない場合、誰も書かないようなショボいことが原因であるということ。

みなさんもショボいことでつまづいていませんか?その場合は、基本的な事項の確認からはじめてみましょう。

Wp記事投稿やウィジェットでphpを実行するには

先述のように、プラグインを使用したり、functions.phpにショートコードの設定をすれば、Woedpressの記事投稿画面やウィジェットでもphpが使えます。
その方法をメモしておきますね。

●プラグイン
記事投稿ページ、ウィジェットでphpを実行できるexec-php
インストールの方法などはこちら

●ショートコードの設定
WordPress投稿にPHPを記述するショートコードの使い方 エス技研

この記事もおすすめ