WordPressの記事投稿で、改行を1つ入れるとbrタグ、2つでpタグが自動で挿入されます。
それを前提にテンプレートやCSSが用意されていれば有用なのですが、そうでない場合、例えば独自CMSを開発している場合など、邪魔になるケースもあります。
そこで、フィルター関数を使って、brタグ、pタグが自動挿入されないようにします。
functions.phpに以下の1行を追加するだけです。
WordPressの記事投稿で、改行を1つ入れるとbrタグ、2つでpタグが自動で挿入されます。
それを前提にテンプレートやCSSが用意されていれば有用なのですが、そうでない場合、例えば独自CMSを開発している場合など、邪魔になるケースもあります。
そこで、フィルター関数を使って、brタグ、pタグが自動挿入されないようにします。
functions.phpに以下の1行を追加するだけです。
このブログもだいぶ技術的な記事が多くなり、大きくカテゴリで分けるようなデザインにしたのですが、そうなると「パンくず」がほしくなってきました。もはやブログっぽくないですね。
まず、ブログ記事については以下のようなコードを記述し、リストをレイアウトしてあげれば「パンくず」を表現できます。
<ul> <li><a href="<$MTBlogURL$>">HOME</a></li> <MTEntryCategories> <MTParentCategory> <li class="arrow"><a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a></li> </MTParentCategory> <li class="arrow"><a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a></li> </MTEntryCategories> <li class="arrow"><$MTEntryTitle$></li> </ul>
表示は「ホーム > カテゴリ > サブカテゴリ > 記事タイトル」となります。サブカテゴリが存在しない場合、つまりそれ自身が親カテゴリに属している場合はMTParentCategoryが無視されるので「ホーム > カテゴリ > 記事タイトル」となります。
最近、MTが重過ぎる。。。
記事が100件を超えたぐらいから、全ページの再構築に5分以上かかるようになってしまいました。最大で10分近くかかることも。
そこで、MTの高速化に効果があるといわれているPHPのモジュール化を試してみました。
ずばりMTのPHPモジュール化とは、MTの構成を一部PHP化することで再構築の負荷を減らします。
MTの再構築では記述されたテンプレート内のMTタグがプログラムに解釈され、ページが生成されます。つまりは、MTタグの命令が多いほど再構築には時間がかかります。そこで、MTタグを減らせば再構築スピードも速くなるはずです。
例えば「最新の記事」。「最新の記事」は一般的に全ページのサイドバーに組み込まれます。これをふつうに100ページの記事を再構築するとなると、単純に「最新の記事」を生成するロジックが100回実行されます。もちろん「最新の記事」だけではないので、ページが増えれば累乗的に負荷が大きくなることが理解できます。
そこで、PHPのモジュール化をすると「最新の記事」は一度しか生成しません。生成した結果をPHPで全ページに読み込ませるというしくみです。
WordPressで新規投稿ができなくなりました。。。
管理画面にログインし、新規登録や記事の編集をクリックすると、記事を編集するエディタが表示されるが、5秒ぐらいすると画面が真っ白になり、エディタのボタン部分しか表示されなくなります。
特に何か設定を変更した覚えもなく、急にこのような状況になりました。。。
環境が悪いのかと、いろいろと試したところ、以下の条件で発生することが分かりました。
WordPressでRSSを配信しようと思いましたが、ソースを見てもそれらしいファイルが見当たりません。
拡張子が「.rss」「.xml」とか、それらしい名前のphpファイルやテンプレートを探してみたがよく分かりません。
少しwebで調べてみるとあっさり解決しました。というよりまずはマニュアルを調べればよい話ですが。。。
以下のようにフォーマット別にトップのphpにパラメータを付加してしまえばいいだけ。
https://helog.jp/?feed=rss
https://helog.jp/?feed=rss2
https://helog.jp/?feed=rdf
https://helog.jp/?feed=atom
ちなみに以下のように、catパラメータを付加することにより、記事をカテゴリで絞ることができます。
https://helog.jp/?feed=atom&cat=580
近年ではMovable TypeやGoogleが採用していることから、フォーマットはatomがおすすめです。
よし、これで他のサイトに記事の更新状況を載せることができるぞ!
レンタルサーバにMovable Typeのインストールして、早速ブログを書いてみました。
しかし、書いた記事にアクセスすると「500 Internal Server Error」となります。
FTPで確認してみると確かに記事ファイルは生成されています。
いろいろと調べてみたところ、レンタルサーバとの相性に問題があるみたいです。
MTではデフォルトで、フォルダは「777」、ファイルは「666」の属性で出力するようになっています。例えば、今回のレンタルサーバはCPIでしたが「セキュリティ的にユーザに書き込み許可をあたえるファイルにはアクセスさせないよ」(たぶん。。。)ということで、サーバーエラーを出力するみたいです。
そこで、MTの設定を変更して運営します。
フォルダを「755」、ファイルを「644」で出力するための設定として、「mt-config.cgi」に以下を追記します。
以前にxamppのMercuryを使ってローカルPHP開発環境からメールを送信する方法を紹介しました。
xamppのMercuryを使ってローカル開発環境からメールを送信する
しかし、最近XAMPPをアップデートしてから調子が悪い。
Mercuryの設定を変更しても保存されません。直接設定ファイルを開いたり、再起動したり、サービスを管理したりしてますが、どうもうまくいかない。バグらしい情報も見当たらないし困っていました。
そんな中、過去にトライした「fake sendmail」で容易に実現したのでメモとして残します。
ちなみにローカルの開発環境は「Windows 7 64bit」と「xampp 1.8.2」です。PHPやfake sendmailはxamppに同胞されているものをそのまま使います。
現在、私はさくらレンタルサーバ(スタンダードプラン)にSubversionをインストールして活用しています。
さくらレンタルサーバ(スタンダードプラン)にSubversionをインストール
さて、少し前から「Git」が話題です。特にメリットを感じているわけではないですが、周りがそういう環境になってきたので、重い腰を上げて導入にチャレンジしたいと思います。
初めにインストール作業にあたり、PuTTyなどでさくらのサーバに接続でき、コマンドラインが使用できることを前提とします。
jQueryでブラウザのスクロールに追従するサイドメニューを構築します。
以前にもこのネタに何度か触れましたが、だいぶ古い情報になってしまいました。
jQueryプラグイン「jQuery Scroll Follow」でスクロール追従メニューを作る
そこで、今回は私が最近活用している、jQueryベース、プラグインなしの手法を書き留めておきます。
例えばスクロールに追従させたい要素のidがsidemenuの場合、以下のようなスタイルを用意します。
あけましておめでとうございます!
今年も細く、長くをモットーに続けて参りたいと思いますので、
何卒よろしくお願いいたします。
さて、2014年、初めの話題は、書き溜めておいた少し古い内容です。。。
2012年末にTwitterから公式に「Twitter API 1.1」への移行の告知がありましたが、それに伴い予告通り2013年6月12日に「Twitter API 1.0」が廃止されました。
それに伴い、これまで1.0で作成されたTwitterクライアントやWebアプリなどのサービスが停止するなど、各所に影響が出ているようです。Webを徘徊していると、現時点でも回復せずに、停止したまま放置されたTwitterウィジェットなどもちらほら見られます。
さて、今回、停止してしまったツールをどう復旧すればいいのかということを少し調べてみましたが、大きく以下の2つになると思います。
それぞれのメリット、デメリットを検討してみます。
また、現時点で、どちらの方法もTwitterアカウントが必要ということを前提に進めます。