2019年12月13日金曜日

【Wordpress】PHPのバージョンアップをしたらデータベース選択エラーに

先日、wordpressサイトにログインすると、

phpの更新が必要です

サイトが安全ではないバージョンの PHP を実行していることを検出しました。 PHP とは何ですか ? サイトにどう影響しますか ? PHP は WordPress の開発や保守に使用されているプログラミング言語です。PHP の新しいバージョンはより高速で安全なため、アップグレードするとサイトのパフォーマンスに良い影響を与えます。
とのメッセージが出たので サーバーの管理画面からPHPバージョンを5.6から7.1にバージョンアップしました。 すると、

データベース選択不可

データベースサーバーに接続できました (ユーザー名とパスワードには問題ありません) が、データベース ●●●●● を選択できませんでした。
  • 本当に存在していますか ?
  • ユーザー ■■■■■ にはデータベース ●●●●● を使用できる権限がありますか ?
  • 一部のシステムでは username_●●●●● のようにデータベースの接頭辞にユーザー名がつけられています。これが問題になっている可能性はありませんか ?
データベースのセットアップ方法が分からない場合はホスティングサービスに連絡してください。 それでもダメならWordPress サポートフォーラムでヘルプを見つけられるかもしれません。
というエラーメッセージが表示されるようになりました。 PHP7.1から5.6に戻してもこのメッセージは消えず、 サイトは閲覧できない、管理画面にもログインできない状態... ネットで検索しても wp-config.php の内容を修正するとか、 WordpressのテーマやプラグインがPHP7に対応していない旨の情報はたくさん出てくるのだけど、 対応策を試しても復旧しない。。。

原因はシングルクォート

wp-config.phpの
defined( 'MYSQL_CLIENT_FLAGS', 'MYSQLI_CLIENT_SSL' )
ここの'MYSQLI_CLIENT_SSL' 部分、シングルクォートを取り
defined( 'MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL ) 
とします。 これで解決しました!

2015年11月19日木曜日

【Wordpress】Biz calender 編集者にも権限を与える方法

Biz calenderで権限をカスタマイズ


Wordpressで営業日カレンダーを簡単に表示できるプラグイン Biz calender

Biz calender

定休日を設定できるシンプルなカレンダー。
臨時営業日・臨時定休日などを簡単に変更できます。

ですが、クライアントにWordpressで作成したサイトを納品する際、
クライアント側でもカレンダーを変更したい
という場合は多いと思います。

デフォルトではこのBiz calender は管理者(administrator)のみ、
管理画面で表示されるという仕様になっています。

クライアントにも管理者権限を与えてしまうと
どこか間違って触ってしまって真っ白になってしまった!
デザインが崩れてしまった!
というリスクも考えられるので避けたいですよね。


このBiz calenderを編集者(editor)にも管理画面で触れるようにする方法です。

Biz calender プラグインフォルダ内の biz-calendar.php をエディタで開きます。


wp-content > plugin > biz-calendar > biz-calendar.php





124~5行目
public function on_admin_menu() {

 $page = add_options_page("Biz Calendar設定", "Biz Calendar設定", 'administrator', __FILE__, array(&$this, 'show_admin_page'));

 }

administrator の部分を edit_pages に変えるだけ!
public function on_admin_menu() {

 $page = add_options_page("Biz Calendar設定", "Biz Calendar設定", 'edit_pages', __FILE__, array(&$this, 'show_admin_page'));

 }

「edit_pages」とは、ページを新規追加できる権限を持つユーザー という意味です。




応用編として、
編集者だけでなく投稿者(author)にもBiz calenderを触れるようにしたい場合は、
この「administrator」を「edit_posts」に変えればOKです。

「edit_posts」とは新規投稿できる権限を持つユーザーという意味です。



他、権限別のユーザーの種類はこちら



※2015.11.19 時点での情報です。
 プラグインの更新をした場合は再度設定が必要です。




2015年1月20日火曜日

【sublime text】 sftp さくらインターネットの設定

さくらインターネット レンタルサーバー

sftp-config.json でのsftp設定

22行目

   "remote_path": "/home/アカウント名/www",

/home/ から設定しなければいけない。


2014年9月8日月曜日

【wordpress】Facebookのシェアが404エラーに

今月頭くらいに突然、facebookのシェアボタンからシェアした投稿のリンクが
404エラーになる現象が起こっていました。

同じ現象でお困りの方、解決作の一つとしてお試しください。


【症状】
  •  iPhone/iPad のfacebookアプリのみ起こる
  •  wordpressのパーマリンク設定は日本語URLにしていた
  •  シェアボタンはどのプラグインをつけても、直接URLを貼り付けても起こる


調査していくと、原因として、
「日本語URLにしていたため、URLが非常に長くなっていた」ことが原因のようです。


例えば、同じサイト内の固定ページ(URLは半角英数)をシェアしても
正常に表示されましたので。


自分の管理しているブログなら、その都度記事のパーマリンクを編集して
半角英数字に変えれば済むのですが、
クライアントが更新しているブログで、iPhoneアプリ(wordpress)から更新しています。
iPhoneアプリからはパーマリンクを変更できない!


そこで、「RSS Graffiti」を使うことにしました。




RSS Graffitiとは



ブログに投稿すると、自動でfacebookなどに投稿してくれる連携ツール。

その中の機能に、「Bit.ly」を使ってURLを短縮する機能があるのです。




以下の設定方法はfacebookアプリを設定できている状態からの説明です。

設定方法はコチラの記事など参考に


  1. Bit.lyのアカウントを取得します。


      https://bitly.com/




右上の赤文字「sign up for free.」をクリックしてアカウントを取得。





facebook・twitterアカウントでも使えます。


2. API keyを取得

 右上のアカウント名のところ、「setting」の中の一番下に 「API key」があるので
それをコピー。





3. 「RSS.Graffiti」アプリに 「API key」登録

facebookの「RSS.Graffiti」アプリ設定画面に戻り、右側の「TARGET」のfacebookページをクリック





「 bit.ly OPTION」タブを開き、「bit.ly ID(username)」と先ほどの「API key」を入力。



facebookとの連携を許可すると、完了です。






その後の投稿は短縮されたURLが表示され、
無事iPhoneやiPadでもエラーにならずシェアできます。



2014年9月6日土曜日

【jQuery】 BookBlock

本をめくるようなUIのjQuery


デモ
http://tympanus.net/Development/BookBlock/index.html



ダウンロード
http://tympanus.net/codrops/2012/09/03/bookblock-a-content-flip-plugin/




※覚書

表示したい場所にdivで画像を囲む

<div class="bb-custom-wrapper">
<div id="bb-bookblock" class="bb-bookblock">
<div class="bb-item"><img class="alignnone size-full" src="/img1.jpg" alt="free1"  /></div>
<div class="bb-item"><img class="alignnone size-full" src="/img2.jpg" alt="free2"  /></div>
<div class="bb-item"><img class="alignnone size-full" src="/img3.jpg" alt="free3"  /></div>
</div>

<nav>
<a id="bb-nav-first" class="bb-custom-icon bb-custom-icon-first" href="#">First page</a>
<a id="bb-nav-prev" class="bb-custom-icon bb-custom-icon-arrow-left" href="#">Previous</a>
<a id="bb-nav-next" class="bb-custom-icon bb-custom-icon-arrow-right" href="#">Next</a>
<a id="bb-nav-last" class="bb-custom-icon bb-custom-icon-last" href="#">Last page</a></nav></div>


======


【コンソールエラー jquery is not defined が出た時の対処】

scriptファイルの読み込ませる順番を変えた。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="/js/modernizr.custom.js"></script>
<script src="/js/jquerypp.custom.js"></script>
<script src="/js/jquery.bookblock.js"></script>



2014年3月8日土曜日

【Wordpress】管理画面が真っ白になった

サイトは問題なく表示されているが、管理画面へのログイン画面も真っ白になってしまった時の処置法



最初にすること

デバックモードにして、エラーを表示させます。

ルートディレクトリにある『wp-config.php』を修正します。

define('WP_DEBUG', false);

↓修正

define('WP_DEBUG', true);

ここを直してもう一度ログイン画面にアクセスすると、
エラーが表示されます。


ここで表示されるエラーはさまざまだと思います。
エラーが出ているプラグインをサーバーから削除してみるなど対応してみてください。



原因がわかった


今回私のサイトが真っ白になった原因となるエラーは

Fatal error: Allowed memory size of XXXX bytes exhausted.

これでした。

要は「メモリオーバーだよ」ということです。


対処法

『php.ini』を修正します。

最初はphp.iniの場所がわからないですよね。
レンタルサーバーによって違うようですが、


●さくらインターネットの場合は
コントロールパネルの「PHP設定の編集」

●ロリポップの場合は
コントロールパネルの「WEBツール」内の「PHP設定」

(他のレンタルサーバーは管理していないのでわかりません)


memory_limit = 32M
post_max_size = 50M
upload_max_filesize = 30M
max_input_time = 60

↓ 1行目を修正 

memory_limit = 64M
post_max_size = 50M
upload_max_filesize = 30M
max_input_time = 60

これで私の場合解決しました!




最後にデバックモードを 


define('WP_DEBUG', false);

に戻すことを忘れずに!!!

2013年9月8日日曜日

【Custom Field Suite】カスタムフィールド投稿を表示する

Skeleton」テーマにおける【Custom Field Suite】の表示方法



■使用テーマ:Skeleton

スマートフォン・タブレットなどマルチデバイスに対応したレスポンシブテーマ。
ショートコードでカラムやボタン、タブなど、とても使いやすいテーマです。

こちらのサイトを参考

これはかなりの優れもの、スマートフォン・タブレット対応WordPressのテーマファイル -Skeleton


■プラグイン:Custom Field Suite

カスタムフィールドを簡単にカスタマイズ・設置できるプラグインです。

こちらのサイトを参考

WordPress:カスタムフィールドを上手に使いこなす方法

【テンプレートに追加する基本のタグ】

テキスト表示
<?php echo get_post_meta($post->ID,'フィールド名', true);?> 

画像表示
<img src="<?php echo wp_get_attachment_url(get_post_meta($post->ID,"フィールド名",true));?>">




Skeletonテーマには最初から子テーマ「skeleton_childtheme」フォルダが作成してあります。

親テーマの構成が他のテーマと少し違ったので、記しておきます。

【通常の投稿(post)での使用】

親テーマ「Skeleton」フォルダにあるテンプレートファイル 「loop-single.php」にタグを追加します。


【カスタム投稿での使用】

親テーマ「Skeleton」フォルダにあるテンプレートファイル 「loop-single.php」を子テーマ「skeleton_childtheme」フォルダにコピー。
ファイル名を「loop-single-(カスタムポスト名).php」に変えます。
タグを追加してアップロード。