WordPress 4.1の管理画面の一部だけ文字化けが発生したのでメモメモ

WordPressの管理画面の一部だけ文字化けが発生するという、不思議な現象が発生したので調査した内容をメモしておきます。 目次 文字化けの発生箇所 文字化け発生の原因を推測 動的生成時の翻訳処理について調査 解決策 文字化けの発生箇所 文字化けが発生したのは、管理画面内の一部分だけで、下記の通りです。 投稿画面の「メディアを追加」クリック時のモーダルウィンドウ内 メディア画面のソートするプルダウン(グリッド表示時のみ) 文字化け発生の原因を推測 全てが文字化けしているのであれば、PHPやApacheの設定かと思いましたが、ごく一部だけだったので、最初に疑ったのは翻訳ファイルの破損でした。 検証/wp-content/languages配下のpoファイルを確認し、破損していないことを確認してmoファイルに再コンパイル、上書き。 »

WordPressのカスタムフィールドをカスタムしてみた

WordPressをブログではなくもう少し大掛かりなCMSとして利用する際には、どうしても必要になってくるカスタムフィールドですが、ただのinput, textarea, selectでは面白くないので使い勝手が悪いので、色々とカスタマイズした内容を残しておきます。 目次 今回カスタマイズしてみた内容は下記の通りです。 プラグイン無しでカスタムフィールドの入力欄を追加する 通常の本文と同じTinyMCEを使う メディアアップロードボタンを使う 雑感 参考 プラグイン無しでカスタムフィールドの入力欄を追加する まずはカスタムフィールドの入力欄の追加方法からです。 カスタムフィールドの管理を行うプラグインは様々ありますが、管理側の使い勝手を向上させるためにどうしても入力欄は一定のレイアウトで、もうちょっと違う表示をさせたいんだけどな…という所が出てきてしまいます。 なので、そんな時にはプラグイン無しで入力欄を追加してしまいます。 <?php function _add_custom_ »

Jetpack for WordPressのパブリサイズ共有を色々カスタマイズしてみた

様々な追加機能を用意してくれるJetpack for WordPressですが、その中のTwitterやFacebook等のSNSに投稿時に自動的に共有をしてくれるパブリサイズ共有で色々とカスタマイズしたい所があったので、調べたことのメモを残しておきます。 Jetpack インストール方法や設定方法は、丁寧に説明されているページがありますので割愛させていただきます。 パブリサイズ共有 ソースを追ってみたところ、デフォルトでは「title url」で共有され、投稿内容と共有するサービスをwordpress.comに送信してそこから発信しているようなので、各サービス毎に内容を変更する、と言ったことは難しそうです。 ちなみに今回調べてみた内容は下記の通り。 カスタム投稿タイプでも適用させる 共有する文言を変更する 強制的に文言を変更する 共有するURLを変更する 雑感 カスタム投稿タイプでも適用させる 単純にインストール→ »

WordPressに投稿したメディアをAWS S3に自動的にアップロードする「Nephila clavata (絡新婦)」をインストールしてみた

以前にサーバをAWSのEC2に移管した旨を記載させて頂きましたが、静的なデータはEC2ではなくS3に置いておいたほうが効率的のような気がしていました。 ただ、毎回S3にファイルをアップして、ブログでリンクを貼る作業をしようとするとどうしても面倒だったところ、WordPressで投稿したメディアを自動的にS3にアップしてくれるプラグイン「Nephila clavata (絡新婦)」があったので試してみました。 仕組みについて WordPressでメディアを追加すると、「/wp-contet/uploads/*」に保存されますが、その「uploads」以下のデータをS3に転送します。 管理画面上の操作はWordPress設置側のメディアを扱い、表示時に自動的にメディアへのリンクURLをS3側に書き換えて表示されるようです。 なので右図の画像は「blog.sus-happy.net」にも存在していますが、表示する際に自動的に「 »

WordPressのテーマにattachment.phpを追加して、添付ファイルページを失くしてみた

自分ではなく第三者にWordPressを使って貰う場合に、メディアを追加した時に添付ファイルのページが出来てしまうことが煩わしく思っていました。 自分が更新するのであれば、リンクを切ってしまうか、ファイルへのリンクを貼っておけば良いのですが、第三者が更新を行う場合は確実に防げるかと言われると言い切れない所があります。 そこで、添付ファイルのページにアクセスしてしまっても、ファイルを表示してしまえば良いのだ、と思い立ってテーマファイルを調べてみました。 添付ファイルのページについて そもそも添付ファイルのページはテーマファイルのどのファイルが優先されるのか、というところから。 優先順位は下記のとおりとなります。 MIMEタイプ.php MIMEサブタイプ.php MIMEタイプ_MIMEサブタイプ.php attachment.php single.php index. »

サーバをAWS EC2+nginx+PHP+MySQLに乗り換えてみた

これまでは、さくらのVPSを利用させていただいていたのですが、最近の流行りに乗っかろうかと思いましてAWSのEC2でサーバを立ちあげて移管してみました。 単純にnginxに慣れていない事もあって色々と躓いてしまいましたが、なんとか表示できています。 不具合がまだチョコチョコ出ちゃってますが、メインコンテンツが見れてるのでとりあえず保留中です。 また何かの時に新しく作るかもしれないので、参考サイトとメモを残しておきます。 AWS EC2の設定 まずAWSのアカウントを作ってEC2のインスタンスを作ります。 使い慣れているので、CentOSを選びましたが全部同じのはなぁ…と思ってCentOS6 64bitを選択しました。 また、nginxやPHP、MySQL、WordPressまでプリインストールされているモノもあるのですが、設定方法を勉強するためにも今回はOSのみのイメージを選択しています。 WordPressを利用するだけなのであれば、こちらの記事が参考になるかと思います。 参考サイト civic site »

Facebook公式WordPressプラグインをインストール→英語になったので少しいじってみた

FacebookがWordPress向けの公式プラグインを公開していましたので、早速インストールしてみました。 どんな感じで表示されるのかのテストと、英語で表示されてしまっていたのを修正した箇所についてメモしておきます。 管理画面の日本語化ではないのであしからず・・・。 インストール 通常のプラグインと変わりはなく、プラグインのページからダウンロード、「wp-content/plugins」の中にアップロードして、「有効化」します。 設定方法については、既に詳しく紹介されているページが、こことかこことか、英語ですがFacebook上にもありますので、割愛しておきます。 日本語化 そのままですと、JavaScript SDKを英語版を取得しにいってしまうため、英語表記のボタンやコメント欄が表示されてしまいます。 SDKを読み込んでるっぽい「fb-core.php」 »

WordPressのRSSの見た目をCSSで変更してみる

折角ブログの見た目を変更したので、RSSもいじってみようと思い、CSSでのデザイン変更を行ってみました。 CSSを書いて、読み込ませるだけ・・・ではあったのですが、RSS用のテンプレートの適用方法が若干特殊だったので残しておきます。 RSSのテンプレートを変更する WordPressにはRSS用のテンプレートは用意されていないため、ソースファイルを触るしかないのかな?なんて思っていましたが、アップデートする度に元に戻ってしまうのがイヤなので、調べてみるとこんな方法で各種フィード用のテンプレートを実現できるようです。 上記記事は”functions.php”を書き換える方法ですが、プラグインも作成されているようなので、そちらを使ってみても良いかもしれません。 RSSにCSSを読み込ませる RSSのテンプレートが作成できるようになったら、CSSを読み込ませるように書き換えます。 HTMLとは少しだけ記述が違い、こんな感じになります。 <?xml-stylesheet »

ブログの見た目を変更してみました

WordPressの使い方が分かってきたので、テーマ作りを一からやってみようと思い、見た目を変更してみました。 カテゴリーやタグ周りがまだ貧弱ですが・・・元のテーマを壊してしまった公開できるレベルになったで変更しました。 やってみたこと トップページだけ別デザイン front-page.phpでサクッと行けるかと思ったのですが、ページ送りしても違うデザインにしたかったので、 if( ! is_paged() ) を使って、トップページ且つ最初のページ、を判断してます。 最初の投稿だけ別デザイン 最初の投稿だけ別デザインで、アイキャッチが設定されていたらその画像も表示するようにしてみました。 最初の投稿をifで判別するのは何だかイヤだったので、 <?php if( have_posts() ): the_ »

jquery-pjax + WordPressでスニペット集を作ってみた

Ajaxを利用しつつ、戻る・進むリンクが効くような作りで、Twitterと同じようにHashchangeイベントを使ったことがあったのですが、HTML5ならpushstateを覚えなくては―と思っていた頃にこの記事を読んでjquery-pjaxの存在を知りました。 また、ちょっとしたコードをメモして置く場所が欲しかったので、WordPressと組み合わせてスニペット集を作ってみました。 こんな感じです » Snippets | SUSH-i LOG まだまだ分類分けが中途半端だったり、導線が不十分だったり、ブラウザの進む・戻るを使った時に少し不具合がありますが、何とか形になったかな?と思っています。 クライアントサイド ソースファイルは、defunkt/jquery-pjax – GitHubからダウンロードできます。 クライアントサイドの記述方法は参考リンク先でもご紹介されていますが、こんな感じ。 »

投稿してから何日経ったのか表示するWordPressプラグイン

たまに投稿してから何日経ちました、と表示してもらえるブログを見かけることがあったので、作ってみました。 ↑のタイトルの下に出ている表示がそうです。 ダウンロード(GitHub) いつもの如くとりあえずダウンロード先だけ・・・ちなみに表示のさせ方は、表示させたい箇所に、 <?php the_elapsedDays() ?> を記述します。投稿IDを利用しているのでループ中のみの表示です。 追記 2012年1月23日 何だか上手く動いていないですね・・・。修正してきます。 さらに追記 2012年1月23日 WordPressの仕様でdate()とtime()が強制的にUTCになってしまうのが原因でした。 参考: »

Flickr APIを利用してランダムに一枚画像を表示するプラグインを作ってみた

少し前からこのブログの背景画像に写真を使っていたのですが、どうせFlickr使っているのなら自分のブログの背景画像に利用させてもらおうとFlickr APIを使ってみました。 そしてついでに、WordPressを利用しているのならとプラグインにしてみました。 詳しい内容はGitHubをご参照ください。 »

WordPressのコメントをDisqusに変更してみた

以前の投稿でFacebookコメントを導入していましたが、なかなかどうも上手く動いているのかどうか良く分からなくなったので、今度はFacebookだけでなく、TwitterやOpenIDにも対応しているDisqusに変更してみました。 プラグインも用意されているので非常に簡単でした。導入までの流れを記事としてまとめて下さっている方は沢山いらっしゃるので、そちらを参考にしていただけると分かりやすいかと思います。 参考リンク WordPressのコメントシステムを「Disqus」にする方法 – WooFla! – 気になったモノ、コトを発信! WordPressにコメントシステムのDisqusを導入した | ueblog 高度なコメントサービス、「DISQUS」をWordPressに導入する | モノについてのモノ語り 追記 2011/06/15 カスタムCSSも当てられるので自由にデザインすることも出来るのですが、なんとなくデザインとかが気に入らなかったので、 »

カスタム投稿タイプに独自の権限を与えてみた

少し特殊な利用方法となりますが、カスタム投稿タイプで追加した項目の追加・編集・削除権限を持つ独自の権限グループを作る方法について、残しておきます。 実装内容 カスタム投稿タイプの追加については「register_post_type」、権限グループの追加については「add_role」、また、そのグループに対して独自のルールを持たせるのが「add_cap」となります。 最終的に以下の内容をfunctions.phpに入力することで、「ptname」というidのカスタム投稿タイプの追加・編集・削除の権限を持つ「authid」というidの権限グループを追加できます。 »

WordPressのmeta_queryを使ったカスタムフィールドによる検索をしてみた

WordPress3.1よりmeta_queryが実装され、カスタムフィールドを用いた検索方法が細かく設定できるようになったようなので試してみました。 従来の方法 従来の方法は「meta_key」と「meta_value」を一つずつ指定するのみでした。 例えば「hoge」と名前の付けられたカスタムフィールドの値が「fuga」と設定されている記事を検索するには以下のように書きます。 query_posts( array( "meta_key" => "hoge", "meta_value" »

WordPressのコメントをFacebookコメントに変更してみた

最近ちらほらとブログへのコメントがFacebookを介したコメントが利用されているのを見かけたので、自分も殆どFacebookを活用していませんでしたがちょっと使ってみることにしました。 なお、ここに例としてあげているコードにはappidが入力されていませんのでコピペして使わないようにしてください。 コードの入手 まずはFacebookコメントを表示するためのコードを入手します。 Comments – Facebook開発者で公開されているので、そこで自分の好きなカスタマイズを行うと、以下の様なコードが取得できます。 <div id="fb-root"></div><script src="http://connect.facebook.net/en_ »

WordPressのカスタム投稿タイプを試してみた

WordPress3.0より導入されたカスタム投稿タイプを試してみました。 正直なところ最初は何に使うんだろう?と思って触っていませんでしたが、CMS利用を考えて構築を行うと非常に有用で、使い勝手が良いものでした。 準備(プラグインのインストール) とはいっても、今回はソースコードを打って追加を行うことはしておらず、プラグインを利用させていただいて実装を行いました。 インストールしたプラグインは「Custom Post Type UI」です。 インストール方法は他のプラグインと同様に、管理画面より検索してインストールを行うか、ソースコードを落として、/wp-content/pluginsにアップロードを行い、プラグインの画面から有効化するだけです。 カスタム投稿タイプの追加 プラグインのインストールが完了すると、左サイドバーにCustom »

マルチサイト化したWordPressをテーマ外から表示してみた

使えるネタ、知ってても使えないネタ等々あるかと思いますが、WordPressを利用して色々なカスタマイズを行った時に、調べてみた項目をチョコチョコと残しておきます。 今回はWordPressをマルチサイト化した時に、各サイトのデータにアクセスする方法と、テーマ外からWordPressに接続する力技をお送りします。 マルチサイト時に他のブログのデータを取得する 現在表示しているブログとは別のブログの記事を取得する際には、 switch_to_blog($BID); で、「$BID」に取得したいブログのIDを指定することで、指定したブログのデータを引っ張ることが出来ます。 また、元のブログに戻りたい時は、 restore_current_blog(); を呼び出すことで、戻ることが出来ます。 テーマ外から関数やテンプレートタグを利用する 利用する機会は殆ど無いと思いますが、 »

WordPressのプラグインを使わずにカスタマイズする小技

WordPressを使ったサイトを作る際に、プラグインを使うほどでもない処理をちょこちょこ行なったので、後から見直せるように残しておきます。 WordPressはプログラムコードがテーマファイルに直接かけるのが好きなんですが、怖い所でも便利な所でもある気がしました。 記事の抜粋を表示したい タイトルと、少し記事の内容を見せたい時に、記事本文内のテキストを丸めこんで表示したい時に使えます。 <?php the_excerpt(); ?> 記事内の抜粋が入力されているのであれば抜粋を、入力されていないのであれば本文を丸めこんだテキストを表示します。 カテゴリーを列挙したい ウィジェットで用意されてはいますが、テーマファイルの中で記述したい時には、以下の様にget_terms()を利用する事で実現可能です。 <ul> < »

EvernoteのSiteMemoryを設置してみた

何故か前のテンプレートで表示がおかしくなってしまったので、Twenty Tenにしています。 本題は、Evernoteの新機能で、SiteMemoryと呼ばれるものが実装されたそうなので、早速記事毎に表示するように設定してみました。 最近良く見かける、TwitterやFacebookのボタンのように、クリックで各サービスの機能を実行するもののようです。 こちらのSiteMemoryの設定ページでタグの発行を行うことが出来るのですが、そのままでは固定ページのみになってしまうので、以下のように記述しました。 <script type="text/javascript" src="http://static.evernote.com/noteit.js"> »