Dreamweaver 20.2の不具合

Dreamweaver20.2でコードビューが重くなる不具合。
直してもまた定期的に重くなる状態なので、いずれ根本的な対策しないといけないけれど、とりあえず対症療法を定期的にするので手順をメモメモ。

-----
レジストリエディタで、
「Windows レジストリ値『コンピューター\HKEY_CURRENT_USER\Software\Adobe\Dreamweaver 2020\Temp File List』」を削除。
-----

元ネタページに感謝!
https://note.com/r360studio/n/n3a0bdde51205

オススメするべきサーバまとめ

お客様の条件によって、ロリポップも選択肢に入れてきたが、WordPressを前提とするなら、アップグレードのバックアップでSSHが使えないのがけっこう痛い。

あれこれ理由も含めて忘れないようにメモメモ。

------------------------------(2020.04.06追記)

あれこれやるなら、エックスサーバ

さくらインターネットをメインで使ってきたけど、複数ドメインを運用したときにメアドアカウントの問題がある。@マークの前部が同じものは一つしか使えないばかりか、@以降が違っても同じものと認識されてしまう。例えば「info@hoge.jp」を設定している場合に、同じサーバでfuga.comを運用していれば「info@fuga.com」宛てでメールを送っても「info@hoge.jp」へ届いてしまう。
現実の問題として、一クライアント一契約で使うかぎりは問題になることはほぼ無いのだけれど、感情的にやはりスッキリしない。

同業の仲間の評判を聞いて、必要な要件を満たして金額的にも月額千円ていどと低いので、エックスサーバにしておけば問題なし。

------------------------------(2013.08.06現在)

基本的にオススメするのは、さくらインターネット

スタンダード以上でSSHが使えて、スタンダードなら月額500円ということで、かなり割安感が強い。

ってことで、さくらで決まりでいいんじゃないだろうか?

------------------------------(2013.08.09追記)

さくらの格安プランでは不安があるという場合にはCPIもオススメ

オマケだが、パートナーになっているとマージンも入るので制作会社には嬉しい。

ただ、CPIのウリのひとつ「スマートリリース」機能は、WordPressの場合は意外と面倒。公開前にDB内のURLを書き換える必要があり、本番環境上で別ディレクトリを切って制作するほうが効率的。

スマートリリースの最大のメリットは、プログラムものの場合に、まったく同一の環境でテストできるところか。

------------------------------

実に情けないボケナス事案でトホホすぎるハマり方をしたので、二度と繰り返さないためにメモメモ。

症状としては、ログインしようとするとSiteGuardプラグインの生成するエラーページが表示されてログインできない状況。
ページの右下に「Powrd by SiteGuard」とあるのでSiteGuardが関係しているのは明らか。

結論を最初に書いてしまうと、すでにログインしている状態でもう一度ログインを試みているためにエラー画面が表示されているという症状でした。

そこに気がつかずに、SiteGuardを完全にアンインストールする方法をググって試してみたりして、半日近く無駄にしました。ログイン画面とエラー画面を行ったり来たりしているだけだと、上部のツールバーが表示されることが無いので思い込みから抜け出せないw

大事な事なのでもう一度。「ログインできないと思ったら、すでにログインしてる事を疑え!」

なお、本当に不具合が出てログインできない場合は下記ページが参考になります。
https://www.jp-secure.com/siteguard_wp_plugin/faq/#Q999

DNS切り替えでMXレコードを別にするなど

エックスサーバにウェブサイトを置き、お名前メールにメールサーバを置くという構成でDNS切り替えを行ったのであれこれメモメモ。

結論から書くと、ネームサーバはどこを使っても良くて、AレコードとMXレコードをしっかり分けてあれば大丈夫。

以下、箇条書きでメモ的に

  • お名前ドットコムの中に2種類のネームサーバがあるので混乱しやすいので注意。
    「01.dnsv.jp」と「dns01.gmoserver.jp」が別にある。
  • ネームサーバの選択肢はお名前の二つプラスエックスサーバで3つ
    • お名前メールのコンパネでは細かいDNS設定ができないので、このケースでは使わないほうが良い。
    • 今回はエックスサーバのネームサーバを使い、MXレコードを「mx00.gmoserver.jp」とする設定。
      (00は契約ごとに変わる数字)
  • なりすましメールを防止するためのspfレコードについてはエックスサーバのヘルプから。
  • お名前メールのメールサーバは「mx00.gmoserver.jp」で、00は契約ごとに変わる数字。popやsmtpを見て、そこに付加されている数字を入れればよい。

 

ちょっと便利なLookUp系ツールをメモ

ある日突然に、XDを立ち上げようとすると「開発者用ライセンスが切れています」と表示されて立ち上がらない。
軽くググったところ下記の記事がヒット。

https://miya-it.com/archives/451

要するに再インストールすれば良いようなので、そうすることで復活。
難しいことはおいといて、ライセンスがどうのこうの言われたら、とりあえずは再インストールを最初に試すと覚えておこう。

 

Windows10でCドライブSSDの容量アップで差し替えた。このときにディスクをクローンしただけだと問題があったので、正しい手順をメモメモ。

1. まずは「EaseUS Todo Backup Free」でディスクのクローンを作成。

詳しくは「SSD換装したのでメモメモ」を参照

同じ容量でのHDD→SSDであれば、クローンディスクと差し替えるだけで完了のカンタンなお仕事。
ただし、せっかく容量をアップしても旧ディスクの容量そのままで残りは未割り当て領域となる。

 → ツールのダウンロードは公式サイトから https://jp.easeus.com/backup-software/free.html

2. コンピュータの管理(PCアイコン右クリック→管理)からディスクの管理で未割り当て域をパーティションで新しいドライブに設定&フォーマット

Cドライブの後ろに未割り当て域があればすぐにでも拡張できるのだが、そうすると拡張された領域のフォーマットができていない。そうすると空き領域は100Gあるがフォーマット済みが30Gしかないなんて変な状態になってしまう。それを防ぐための手順です。

3. 2番で作成したドライブを削除して未割り当て域に戻す

4. 「ディスクの管理」画面上からCディスクを右クリックで「ボリュームの拡張」

今回は2-3の手順を踏まずに拡張してしまったので、一度Cディスクを縮小させてから改めて拡張させるという無駄な手順をしてしまった。

.htaccessでリダイレクトを設定するのにごにょごにょしていたら、削除したはずの.htaccessがイキていてる。どうやらChromeがキャッシュしてしまうらしい。ちょいとハマりかけたのでメモメモ。

【参考サイト】
https://xov.jp/e/83/

最近のChromeは高速化のためかいろいろとキャッシュしてくれちゃうようなので、変だなと思ったら他のブラウザでも動作テストしてみる癖をつけたほうが良さそう。

php|正規表現あれこれ

WordPressで商品を検索できるように制作。その際の仕様でURL末尾に「?」から始まるパラメータを付与した。

そのとき、ページ送りを作ると、パラメータ込みのURLの後ろに「/page/2/」などのページパラメータが入ることになりエラーとなる。
そこで正規表現でURLを書き換えてエラーを回避した

---------------------------
$paginate_html = [WP関数でページネーションHTMLを取得]

//バグフィクス:正規表現でパラメータ部をURL末尾に移動
$pattern = '/\/\?(.*?)\/page\/([0-9])\//';
$replace = '/page/$2/?$1';
$paginate_html = preg_replace($pattern, $replace, $paginate_html);

echo $paginate_html."\n";
---------------------------

今回のポイントだったのは「$1」「$2」の使い方。
要するに$patternの中で () でくくったパーツが$として順番に入ってくることになると理解。

***************************************************

引き続き、パラメータが複数付いた場合にエラーが発生。
paginate_links()で取得したリンク先URLに2つ目以降のパラメーターがもう一回出てきてカオスな状態w
原因は不明だが、関数自体が独自パラメータを付与する事を想定していないと思われる。

あまりスマートじゃないけれど、preg_replace()を段階的に複数回使用するなどして何とかクリア。
おおまかな手順・考え方としては下記の通り。

  1. $_SERVER["REQUEST_URI"]からpreg_split()でパラメータ部分だけ取得
  2. preg_replace()を何度か使って段階的にリンク先URLをパラメータだけついていない形に整形
  3. 最後に1番のパラメータ部分だけを末尾に付与

当初はHTMLソース内のパラメータ部分を活用する方向であれこれ試したけど複雑すぎて断念。そこで発想を転換。ページングなので現在ページのパラメータはそのまま生きることに気がつき、そこから引っ張ってくる方向で何とかなりました。

MovableType|正規表現で変数を使う

regex_replaceで変数を使う場合、ちょっとコツがあったのでメモメモ。

検索文字列を変数「hoge」に入れた場合、regex_replace="/$hoge/","fuga" だとうまくいかない。
正解は、変数「hoge」に最初から「/」を入れておくこと。

-----

例)「馬」→「鹿」に変換したい場合

<$mt:SetVar name="hoge" value="/馬/" $>
<$mt:Munya regex_replace="$hoge","鹿" $>

-----

元ネタはこちら
https://mixi.jp/view_bbs.pl?comm_id=4620862&id=56450038

プロキシの設定

某客先ではセキュリティのためにLANからFTPする必要があるが、WiFiにアクセスするためにはプロキシ設定を行う必要がある。

毎度ご担当に手順を聴くので、備忘のためにメモメモ。

  1. ブラウザからプロキシ設定を変更するには
  2. chromeで「設定」 > 下の方にある「詳細設定」 >  「プロキシ設定」
  3. 2番の操作で「インターネットのプロパティ」窓の「接続」タブが開く
  4. 下部にある「LANの設定」へ進むとプロキシを設定できる

 

この記事は汎用性がほぼ無いうえに前提の話を説明しきれないので、他の方には何を書いているかちんぷんかんぷんだと思います。MovableTypeのテンプレート上で他のDBからデータを読みだしてきてページを作ることができる「AnotherDatabase」プラグインでもって、ちょっとだけ複雑な事をしたので来年の自分用にメモメモ。

いちおう簡単にベースのシステムを説明すると、資料データ管理用のDBシステムなのだが、入力画面はあるけどアウトプットはMTを経由して出力するという面白いシステム。MTなら資料の展示方法を柔軟に変更できるということと静的生成なのでDB本体と外部は完全に切り離されているからセキュリティに良いというメリットが。

【やりたかった事】
某システム上でタグ付けされた資料を、複数のタグを使って抽出する。

DB上には「資料テーブル」と「タグテーブル」があり、「リレーションテーブル」で紐づけされている仕様。
今回はウェブ担当者だけがテンプレートをいじるので、タグIDをカンマ区切りで変数に入力してテンプレート上に記述してもらうようにした。

 

細かい条件分岐はさておき、基本的な考え方は下記の流れ

1. カンマ区切りを、配列に格納するとともに指定されたタグの数を取得

2. タグの値ごとにループを回して資料IDを取り出して配列に格納
   -- この時にヒットした資料IDをすべてappendした変数を作成しておく

3. タグIDを羅列した値とappendした変数の値を比較することで、完全一致の資料が分かる。
  一致した資料IDごとにループを回して内容を表示する

 

【ハマったポイント】
<mt:SetHashVar>の中で配列にappendしようとしたところ思うような動作にならなかった。
あれこれやった結果、<mt:SetHashVar>をあきらめて、<mt:SetVar name="hoge{fuga}" value="ugo" append="1">という書き方でOKとなった。

表題の件を探したところ「かたつむりくんのwww」に良い記事があったのでメモメモ。
https://tinybeans.net/blog/2012/06/16-075413.html

 

<$mt:SetVar name="favorite" value="バッジョ,ジーコ,クライフ,ピルロ,ストイコビッチ,グアルディオラ"$>
<$mt:Var name="favorite" regex_replace="/[^,]/g","" cat="," count_characters="1" setvar="length"$>

<mt:For var="i" from="1" to="$length">
  <mt:If name="__first__"><ul></mt:If>
  <$mt:Var name="favorite" regex_replace="/^([^,]+).*/","$1" setvar="value"$>
  <$mt:Var name="favorite" regex_replace="/^([^,]+,?)(.*)/","$2" setvar="favorite"$>
  <li><$mt:Var name="value"$></li>
  <mt:If name="__last__"></ul></mt:If>
</mt:For>

カンマの数を拾ってループさせる回数を決め、<For>でその回数だけ回して、使った分だけ削って次へ回す感じかな。

元ページのほうに詳しい解説があるのでそちらも参照すること。

実案件で作ったので備忘録。

クライアントは某自治体(代理店も入っているので名前は明かせない)。今回の要望は「更新をすべてトップページに表示したい」。当初は更新情報の子ブログを立ち上げて手動で入力した発信することを提案したが、担当者さまは自動生成へのこだわりが強いようす。話を聴いていくと市民からのニーズが確実にあること、更新者が多数いて更新した情報を集めるだけでも大変で、多少不完全なものであっても自動生成のほうが合理的と分かりました。

そこでこんな仕様で組んでいます。

◆「更新情報」は最近30日に更新のあったものを表示。
◆ウェブページはすべて監視して、「最終更新日」をキーに「更新日:<ページタイトル>を更新しました」と表記
◆新着情報などブログにしてあるものは「公開日:<記事タイトル>を更新しました」
◆一覧を日付順に並べる

ひと工夫する必要があったのが「一覧を日付順に並べる」という部分。いったん配列変数に格納してLoopで並び替えながら取り出すことに。

配列変数を入れ子にする必要があって、下層の日付をキーにして並べ替えしたかったけど方法が見つからない。MTLoopの並び替えは「sort_by=」の値に「key」or「value」以外の選択肢は無さそう。なのでここは日付+記事IDをkeyに設定することで解決。

 

----------
参考ソース
----------

【ブログ記事を配列変数に格納】

<mt:Entries days="30" blog_ids="9,17,14">
    <mt:SetVarBlock name="entryKey"><$mt:EntryDate format="%Y%m%d"$><$mt:EntryID$></mt:SetVarBlock>
    <mt:SetHashVar name="updateEntries">
        <mt:SetHashVar name="$entryKey">
            <mt:SetVarBlock name="date"><$mt:EntryDate format="%Y.%m.%d"$></mt:SetVarBlock>
            <mt:SetVarBlock name="ttl"><$mt:EntryTitle$> を更新しました</mt:SetVarBlock>
            <mt:SetVarBlock name="cate"><$mt:EntryBlogName$></mt:SetVarBlock>
            <mt:SetVarBlock name="url"><$mt:EntryPermalink$></mt:SetVarBlock>
        </mt:SetHashVar>
    </mt:SetHashVar>
</mt:Entries>

 

【ウェブページについても似た感じで配列変数に格納】

※ソースは省略
※ただしこちらは公開日でなく更新日がキーなのでdaysモディファイアが使えない。
 ごにょごにょと書いて30日前までに更新された記事を抽出するように。

 

【表示部】

<mt:Loop name="updateEntries" sort_by="key reverse">
    <mt:GetVar name="__value__" setvar="updateEntry">
    <dl class="homeNewsItem">
        <dt><$mt:GetVar name="updateEntry{date}"$></dt>
        <dd class="entryDate" datetime="<$mt:GetVar name='updateEntry{date}'$>"><a href="<$mt:GetVar name='updateEntry{url}'$>"><$mt:GetVar name='updateEntry{ttl}'$></a></dd>
    </dl>   
</mt:Loop>

 

実際にはブログによって定型文に変えたりリンク先を記事ページ以外にしたりと激しく分岐させてるけど、上記で骨子の部分は思い出せるかな。

クライアントのサイトで不可解な現象に遭遇。詳細ページの体裁を変更するためにアーカイブテンプレートを探したらどこにも見当たらない。実はインデックステンプレートで詳細ページを書き出していたという仕様でした。

何故そのような仕様になったかここでは説明できないのだけれど、インデックステンプレートをアーカイブテンプレート的に使うことができるのは驚き。MT7からのコンテンツタイプを使い込んでいくと、もしかするとこれを使う機会も出てくるかもしれないのでメモメモ。

-----

これをやるためにはH.Fujimotoさんが公開しているプラグインが必要。サイト上ではMT5.0から6.2までの対応とあるが、クライアントの7.0でも動いているようだ。

https://www.h-fj.com/mtplugins/writetofile.php

基本的には1ページを書き出すものなのだが、条件を設定してLoopなどを回すことで複数書き出すことができる。

他にもアーカイブテンプレート内に設置して、例えば個別店舗を案内するときに、地図がある場合だけ地図ページを書き出すといった使い方も考えられるかな。

 

【concrete5】タイトルタグの調整

concrete5は標準で「ページ名 :: サイト名」となるが、ほぼほぼ変更したくなるので方法をメモメモ。
※5.7以降のモダンバージョンが対象

----------

【システム上で表記方法を変更】

全体を「ページ名|サイト名」という体裁に変更したい場合。

コアファイル /application/config/generated_overrides/concrete.php を
オーバライド /application/config/concrete.php にコピーして記述する
※変更する部分だけ記述すること

タイトルの体裁だけなら
return [
    'seo' => array( 'title_format' => '%2$s | %1$s'),
];

その他にもいろいろ設定を変更できるので下記を参照
https://concrete5-japan.org/help/5-7/recipes/config?

 

----------

【特定ページだけタイトルを変更】

そのページの歯車マーク「設定」から「SEO」へ進み、「METAタグタイトル」を入力すればOK。
HOMEなどはこれで変更すると良い。

【js】入れ子の連想配列の値を取得

ノンプログラマには、既存のシステムですでに作成されている変数から値を取り出せると何かと便利。

今回はMTAppjQueryで特定のサイトだけ管理画面をカスタマイズしたかったので、宣言されていた連想配列から値を取り出して切り分けすることに。

MTAppjQueryでは、管理画面のHTMLソースを見ると、その画面の情報がjsの配列として格納されている様子。これを利用するとその画面がどのウェブサイトのものかを判別できる。

このとき連想配列が入れ子になっており、取り出し方を調べたのでメモメモ。

値をうまく取り出せさえすれば、あとはmatch()で条件つけてif()で切り分ければOK。

-----------------------------

var kudamono = {
  red : apple,
  yellow : banana
};

という連想配列があったとして、値を取得して変数に格納するなら、

var  hoge = kudomono['red'];

でappleが取得できる。

-----------------------------

じゃぁ入れ子の場合。

var kudamono = {
     red : { big : apple ,  smal l: strawberry  },
     yellow : {  big : orange, small : kinkan  }
};

ならば、

var hoge = kudamono.red .big;

でappleが取得できる。

Windows 消せないディレクトリの名前変更

Winodws上のファイルやディレクトリがどうしても消せない状態になってしまうことがある。何らかの原因でファイル名のラストに空白スペースが入ってしまった時などに発生する。
「指定されたパスが見つかりません」などと言われてどうもできないケースですね。

コマンドプロンプトから「ショートネーム」を利用して名前を変更する方法を見つけたのでメモメモ。

元ネタページに感謝!
https://advpro.co.jp/Develop/?p=262

  1. コマンドプロンプトで目的のディレクトリへ
  2. ファイル一覧をオプション「x」で見る dir /x 
  3. 一覧で通常のファイル名とともにショートネームも表示される
  4. ショートネームを使ってファイルやフォルダを指定して名前を変更すればOK

Googleアナリティクスを設置するさい、タグマネをどうしようかいつも考えてしまうので、自分なりの判断基準をメモメモ。

-----

【考え方】

自分だけが管理するサイトなら、とりあえずタグマネを使ってアナリティクスを設置しておけば間違いないのだけれど、クライアントワークで結局はアナリティクスしか使わないのにタグマネにすると混乱のもと。なので、便利と思っても無駄にタグマネは入れない方向で。

もし後でマーケティング用の何かのタグを入れることになったら、その時にタグマネに移行しても良い。

-----

【切り分け】

◆一般的なコーポレートサイトではアナリティクスを直接設置。

◆販売やサービスなどで活発なマーケティングが必要なサイトであればタグマネで設置。

※いずれの場合も、クライアントの要望があればそれに従う。
※ぶっちゃけどっちでも後から移行できるし、ひと手間省けるだけで、アホみないに変わるわけでもない。

yahooのメアドをメーラーで受信

yahooのメアドをメーラー(Outlook)で受信していたら、それまでは問題なく受信できていたのに、接続のたびにパスワードを求められる症状が出た。始末の悪いことに、問題なく接続できる時間帯もあり、症状が出続ける時間帯もあり。

結論としてはyahoo側の問題と考えて、すべてのメールをメインで使ってるpopアカウントに転送することで対応したが、そこに行きつくまでに時間がかかったのでメモメモ。

最初はOutlookのエラーと考えて、あれこれ修復を試みるがうまくいかない。OutLookのレジストリがなんちゃらみたいな原因を想定していたので、違うツールなら良いだろうとWindowsLiveメールへ乗り換えてみた。しかし同じ症状。あぁこれはOutLookもWindowsLiveメールも兄弟みたいなもんだから、OSの何かを引っ張ってきてるからダメなんだろうと考えて、それじゃぁとThunderbirdをインストールして設定。しかし、やっぱり同じ症状。
ここまでアレコレ試しながら、慣れないThunderbirdの設定などもググりながらやってみたりなどで半日経過。

正しいか自信はないのだけど、ブラウザからYahoo!にログイン操作をすると症状が出なくなるみたいと気がつく。時間の関係もあり、そこでYahoo!のメールボックスがアクセスを拒否しているのが原因と考えて(そういうことにして)、Yahoo!メールの使われ方からして受信だけできればOKだったので、Yahoo!に来たすべてのメールをメインのメアドに転送することで今回の対応とした。

 

 

MTAppjQueryで設定をへぐったところ、管理画面がjs不完全な感じのエラーで不具合となり、プラグイン画面からMTAppjQueryの設定を開くことができなくなり、進むも退くもできなくなってしまった。結局、DBを直接いじって初期化できたのでメモメモ。

まずはphpMyAdminでDBを開き、テーブル: mt_plugindataを覗く。

「plugindata_plugin」カラムが「MT::Plugin::MTAppjQuery」のデータのうち、「plugindata_key」カラムで「configuration:blog:3」のように目標のブログIDを記述してあるデータを削除すると初期化できる。

元ネタはこちら

http://www.tinybeans.net/blog/2010/07/06-115554.html

 

MTAppjQuery プラグインで、タグエリアのようなテキストフィールドをチェックボックスに変える例文

$.MTAppMultiCheckbox({
    basename: 'tags',
    label:    'Moveble Type,TypePad,MTOS,VOX',
    custom:   0,
    debug:    0
});

MTAppjQuery|フィールドの表示・非表示

元ネタはこちら
http://www.tinybeans.net/blog/2014/08/28-230911.html

MTAppjQueryでフィールドの表示・非表示だけならuser.cssでOK

 

表示オプションを消す

/* Hide the display options */
#edit-entry #display-options {
    display: none;
}

 

すべてのフィールドを表示する

/* Show the every fields */
#edit-entry #sortable .field {
    display: block !important;
}

 

キーワード欄とタグ欄を消す

/* Hide the keywords and the tags */
#edit-entry #sortable #keywords-field,
#edit-entry #sortable #tags-field {
    display: none !important;
}

 

本文欄を消す

#edit-entry #sortable #text-field {
    display: none !important;
}

または

#edit-entry #sortable #text-field {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

MTのダンプデータを借り受けたが、カスタムフィールドにイベント担当者の個人名と電話番号が入っていたため、個人情報なので削除してほしいとのこと。phpMyAdminからSQL文を書いて作業できたのでやり方をメモメモ。

まず、MTのカスタムフィールドはもっとごちゃ混ぜで格納されていたと思っていたら、[mt_entry_meta]テーブルに割ときれいな形で収まっていた。なので、このテーブルに対して下記のような文で実行。

-----
UPDATE `mt_entry_meta` SET entry_meta_vchar_idx = '' WHERE entry_meta_type = 'field.event_person';
-----
(mt_entry_metaをUPDATE entry_meta_vchar_idxを’’(空白)にSET entry_meta_type が'field.event_person'のデータを)

これを名前と電話番号でそれぞれ実行。

CPI|SSIを.htmlファイルで使用する

CPIのACE01 で、ssiは「.shtml」じゃないと使えず.htaccessでも変更はできませんという記述を見かけた気がしてたのだけど、実際に「.html」でもSSIを使えるように設定できたのでメモメモ

<FilesMatch \.html$> 
SetHandler server-parsed 
</FilesMatch>

-----

【追記】

.htaccessで変更できないのは古いタイプのものであり、ACE01は上記の記述方法をサポートが案内している。
http://acesr.doc.secure.ne.jp/other/tips-htaccess/#ssi

さくらインターネットでダンプデータをインポートしようとしたら16Mの制限を大きく超えていてphpMyAdminが使えなかった。SSHでインポートしたので、手順をメモメモ。

 

SSHで接続後、、、

◆mySQLにログイン
mysql --host=[DBサーバ] --user=[ユーザ名] --password=[パスワード]

◆個別のDBに入る
use [DB名];

◆sqlファイルをインポート
source /hoge/huga/hogehoge.sql;

 

show databases;
show tables;

などで確認しながら進める

◆mySQLから抜ける
\q
※バックスラッシュはひらがなの「ろ」のキー

 

----------------------------------

CPIの場合はポート番号が必要。その場合は下記のように
mysql --host=[DBサーバ] --user=[ユーザ名] --password=[パスワード] ----port=3307

----------------------------------

【追記】

これ、phpMyAdminでインポートすればエラーが出る場合に、SSHだとエラーが出てても分かりにくいために不具合の元になる可能性あるから慎重に使う必要ある。今度そのあたり経験多い人に効いてみよう。

さくらインターネットは無料で常時ssl化できるようになった。

なのでhtaccessリダイレクトでhttpsへ、さらにwww付きに統一しようとしたら意外に手間取った。
しかも、結果的にうまくいったものの、充分に理解できていない感もあるので、書いたソースをここにメモメモ。

 

## ssl & www ##
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(hoge\.com)$ [NC] 
RewriteRule (.*) http://www.hoge.com%{REQUEST_URI} [R=301,L] 
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^(.*)$ https://www.hoge.com/$1 [R=301,L]

 

さらに、ドメインの設定も行った。
通常は一つの登録でwwwありと無し両方が生きる設定にするが、今回はあえて「hoge.com」と「www.hoge.com」を別々に登録。
※ただしつなげるディレクトリは同じ場所へ

ドメインが変わる時、リニューアルでURLが変わる時の.htaccessへの記述方法をメモメモ。

 

◆引っ越しなどで恒久的なリダイレクト(301リダイレクト)

  • サイト全体をリダイレクトする場合
    Redirect permanent / 移転先URL
  • 特定のページをリダイレクトする場合
    Redirect permanent /転送元URL 転送先URL

 

◆メンテナンスなどのための一時的なリダイレクト(302リダイレクト)

  • サイト全体をリダイレクトする場合
    Redirect temp / 移転先URL
  • 特定のページをリダイレクトする場合
    Redirect temp /転送元URL 移転先URL

 

※転送元URLは.htaccess起点のパス
※転送先URLはhttp://からのURL

 
もしmod_rewriteが使えるサーバーなら、RewriteEngine~を使ったリダイレクトで特定のブラウザだけをリダイレクトするといった複雑な条件指定も可能。

WordPress|プラグイン使用履歴

******************************************************************

某SCM様 (2017.09.20)

## 基本プラグイン

  • SiteGuard WP Plugin : [セキュリティ] 総合セキュリティ対策
  • WP Multibyte Patch : マルチバイト文字関連。日本語ファイル名画像のアップもOKになる。
  • Google XML Sitemaps : Googleサイトマップの作成

## 制作時使用

  • Duplicate Post : [管理]記事の複製=開発の手間軽減
  • Stop the Bokettch : [管理]no_indexの解除忘れ防止
  • Regenerate Thumbnails :[管理] 投入済み画像を新しい設定でリサイズ。

******************************************************************

某DRR様

## 基本プラグイン

  • Simple Login Lockdown : [セキュリティ]ログイン制限でアタック回避
  • WP Multibyte Patch : マルチバイト文字関連。日本語ファイル名画像のアップもOKになる。

## 頻度高いもの

  • Advanced Custom Fields : カスタムフィールドプラグイン
  • ShowID for Post/Page/Category/Tag/Comment : [管理]管理画面の一覧でIDを表示
  • WP No Category Base - WPML compatible : URLの「/category/」を抜いてスッキリ
  • Search Everything : カスタムフィールドも検索対象に。

## 制作時使用

  • Duplicate Post : [管理]記事の複製=開発の手間軽減
  • Stop the Bokettch : [管理]no_indexの解除忘れ防止

 

******************************************************************

某ASA様
  • Advanced Custom Fields : カスタムフィールドプラグイン
  • Duplicate Post : [管理]記事の複製=開発の手間軽減
  • Google XML Sitemaps : [SEO]Google向けのsitemap作成
  • ShowID for Post/Page/Category/Tag/Comment : [管理]管理画面の一覧でIDを表示
  • Simple Login Lockdown : [セキュリティ]ログイン制限でアタック回避
  • Stop the Bokettch : [管理]no_indexの解除忘れ防止
  • WP Multibyte Patch : マルチバイト文字関連。日本語ファイル名画像のアップもOKになる。
  • WP No Category Base - WPML compatible : URLの「/category/」を抜いてスッキリ
  • WP SiteManager : WordPress をCMSとして利用する際に必要な機能を網羅した統合パッケージ
  • WP Total Hacks : 20項目以上のカスタマイズができる

[WP SiteManager]
サイトマップ、パンくずナビ、ページャー、サブナビ、デバイス判定とテーマ切り替え機能、メタキーワード、ディスクリプション設定

[WP Total Hacks]

  • favicon.icoの設定
  • 管理画面ヘッダーのWordPressロゴの変更
  • 管理画面フッターのテキストの変更
  • ログイン画面のWordPressロゴの変更
  • 不要なMetaタグの削除
  • 投稿ページ上のメタボックスを個別に選択して削除
  • ダッシュボードウィジェットを個別に選択して削除
  • リビジョンの保存件数の選択機能
  • 自動セーブの無効化
  • セルフピンバックの停止
  • デフォルトのメールアドレス(wordpress@example.com)のカスタマイズ
  • Admin以外のユーザーに対するアップデート通知の無効化

******************************************************************

某sd24様

  • Advanced Custom Fields : カスタムフィールドプラグイン
  • Category Order : カテゴリ並び替え
  • Duplicate Post : 記事の複製=開発の手間軽減
  • My Page Order : 固定ページの並び替え
  • Search Everything : カスタムフィールドも検索対象に
  • WP Multibyte Patch : マルチバイト文字関連。日本語ファイル名画像のアップもOKになる。
  • WP No Category Base - WPML compatible : URLの「/category/」を抜いてスッキリ

※いつもの作りの時のごくスタンダードな構成
※「WP No Category Base - WPML compatible」は、「WP No Category Base」のバージョンアップ版(?)
 たぶんだが、WordPressバージョンが3.5.1になってそのあたりの仕様が変わったのかも(?)

******************************************************************

某ASA様

  • WP Multibyte Patch : とりあえず入れておく感じ
  • My Page Order : 固定ページ並び替え

※今回はひたすらシンプルなので、上記のみの構成

******************************************************************

某仙台TK様

  • Advanced Custom Fields : カスタムフィールドプラグイン
  • Category Order : カテゴリ並び替え
  • Duplicate Post : 記事の複製=開発の手間軽減
  • inquiry form creator : お問い合わせフォーム
  • Search Everything : カスタムフィールドも検索対象に
  • WP No Category Base : URLの「/category/」を抜いてスッキリ

******************************************************************

某agSchool様

  • Advanced Custom Fields
  • Category Order
  • mg404Rewrite
  • Search Everything

サーバの制限により、 インストールしたWordPressは3.1.4 プラグインがぶつかること多数で、かろうじて上記が生きました。

******************************************************************

某ochiTle様 : バージョン 3.4.2

  • Advanced Custom Fields : カスタムフィールドプラグイン
  • Category Order : カテゴリ並び替え
  • DB Cache Reloaded Fix : キャッシュ生成でWP高速化
  • Duplicate Post : 記事複製=開発時の手間削減
  • Search Everything : カスタムフィールドも検索対象にする
  • WP No Category Base : URLの「/category/」を抜いてスッキリ
  • WP-PageNavi : ページング

※プラグインじゃないけど、パーマリンク「/%category%/%post_id%」

※サイトマップはfunction.phpで作成

すぐ出来る事だけリストアップしていきます。追加・差し替え・削除を随時していきます。

◆DBの接頭辞を「wp_」から変更する

◆ログイン試行制限プラグインを入れる
  -- 「Simple Login Lockdown
  -- 「SiteGuard WP Plugin」日本語で使いやすい

◆デフォルトユーザー名のadminは使わない

◆wp-config.phpファイルの保護(.htaccess)

# protect wp-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>

◆ディレクトリ一覧の非表示(.htaccess)

Options –Indexes

※サーバにより記述方法が違うかも?

◆「?author=1」でアカウント名をぶっこ抜かれないよう、
  -- 投稿者アーカイブを無効にする -- 下記いずれかで対応
   -- autheor.phpに記述 -- add_filter( 'author_rewrite_rules', '__return_empty_array' );
   -- function.phpに記述 -- (参考サイトを参照)
  -- もし投稿者ページを使う場合は、プラグインを使って投稿者の「ニックネーム」で表示する仕様に変更する

http://blog.webcontent.jp/entry/no-author-archive

 

MT|mtevalとリッチテキストエディタ

モディファイア「mteval」を使うと、エントリーやウェブページの本文内でMTタグが使えますが、エディタの「HTML編集モードの切り替え」をするとボロボロになってしまいます。

自分が管理するなら何とかなりますが、クライアントに使ってもらうには厳しいですよね(汗

何かうまい対策方法はあるものでしょうか?

-------------------------

ってな投稿をMTQに上げたところ、自己解決したのでメモメモ。

  • エディタの自動変換にかからない文字列を、regex_replaceでMTタグに置換する。
  • 置換するMTタグは長くなるだろうからモジュール化してinclude
  • mtEntryBodyに直接だと何故だかうまくいかないので、いったん変数に格納してから展開
 

<mt:SetVarBlock name="dispBody">
<$mtEntryBody regex_replace="/\[include テストモジュール\]/g",'<mt:Include module="テストモジュール" />' $>
</mt:SetVarBlock>
<mt:GetVar name="dispBody" mteval="1">

 

投稿には、

[include テストモジュール]

ってな具合で。

concrete5のver.5.7を下層の「/dev/」ディレクトリで開発し、ルートで公開したので手順をメモメモ。

前提として、テンプレートでのリンクの書き方は <a href="<?php echo DIR_REL ?>/hoge"> のようにしてインストールディレクトリを起点に記述しておくこと。

  1. 「/dev/」ディレクトリの中身を「/(ルート)」へまるごとコピー
  2. .htaccessの記述のうち、「/dev/」へリダイレクトさせる部分を「/」に変更。

2番の手順を見つけるのにちょいと手間取ってしまった(汗

1番の手順はSSHが使えるならワンパン作業。使えない場合はFTPなどでDL&ULなので時間がかかる。

なお、サブドメインのルートで開発しておいてDNS切り替えで公開という形だと2番もいらないので一番楽ちんかもね。
そう考えると、CPIのスマートリリースとは相性が良さそう。

 

Concrete5関連の情報

Concrete5関連の情報をググっていたら、ゆずさんという方のサイトがよくまとまっていたのでURLをメモメモ。

5.7用覚書
http://immature.01kawa.com/php/concrete5/concrete5-custom/5-7/

concrete5の覚書
concrete5の変数・コード・スニペット
http://immature.01kawa.com/php/concrete5/concrete5%E3%81%AE%E5%A4%89%E6%95%B0%E8%A6%9A%E6%9B%B8/

[facebook]タイムラインを埋め込む

ちょいちょい使うのでメモメモ。
元ネタはこちら。

App ID の発行
http://www.qam-web.com/?p=9516

ソースタグの作成
https://developers.facebook.com/docs/plugins/page-plugin

※2015年6月23日からの仕様分。

[SNS]addtihisの設置

イマドキなら各種SNSボタンの設置は必須だが、一つ一つ設置していくのは面倒だということで丸投げできるのが「addthis.com」。
設置方法を自分用にメモメモ。

1.まずは、addthisを開く。
http://www.addthis.com/

2.Get startとか、「開始」的なボタンを押すと、メアド・パスワードの登録を求められる。

img001.png

3.サービスを選べを言われるので、「Share Buttons」を選択し、あとは画面の指示にしたがってごにょごにょしていく。

4.ひと通りの設定が済むと、スクリプト呼び出しのコードと表示部のコードを提示されるので、それをHTMLにコピペ。

 

基本的に、画面の指示に従って進めればOKな感じであまり難しくない。

クロール申請のURL

ググるとすぐに出てはくるんだけど、けっこう頻度が高いのでメモメモ。

Google
https://www.google.com/webmasters/tools/submit-url?hl=ja

Bing
http://www.bing.com/toolbox/submit-site-url

[concrete5] 5.7 記事ブロックのツールバー

concrete5 5.7の記事ブロックのツールバーはとても貧弱。文字の大きさを変えるくらいもできないのかと思っていたら、

管理画面 > システムと設定 > 基本 > 記事ブロックエディター設定

から多少の設定変更が可能でした。
ツールバーに機能を追加するようなアドオンを入れた場合に、ここから設定をONにしないと使える状態にならない場合もあるので頭においておくこと。

----------------

記事ブロックのツールバー、文字色のパレットに色を追加する方法見つけたのでメモ。

concrete/js/redactor.js をごにょごにょすればOK。
※本体はいじらず、applicationに複製してオーバーライドすること。

[concrete5]5.7で使えるおすすめアドオン

concrete5の5.7の情報がイマイチ出回っていない。
アドオン(プラグイン)の情報がまとまったものが見つからないので、見つけるたびにここにメモメモ。

-------------------------

【無料】Wrap anything

開始ブロックと終了ブロックを置くことで、任意のID・classを付与した<div>でくくることができる。

複数のブロックを囲うことができるので便利。

-------------------------

【無料】Spacer

高さを持った<div>を挿入して、クリアランスを調節できる。

HTMLソースは汚れるが、素人さんでも分かりやすく使いやすいのでおススメ。

-------------------------

【有料】ブロックデザイナー

有料だが、クライアントワークなら必須のアドオン。

自分オリジナルのレイアウトをしたブロックを作成できるので、カスタムフィールドや定型文のような使い方ができる。

作成したあとview.phpをいじることで、かなり自由度が高い。

ただしHTML・CSSが出来る人限定。

-------------------------

【無料】Infotown Table

無料でテーブルを作成できるプラグインは意外と少ない。

WYSIWYGじゃないのでやや使いにくさがあるが、使い方で混乱しにくいかな。

-------------------------

レスポンシブでclearfixがエラー

2カラムのレイアウトで、左にナビゲーション、右にメインエリア。メインエリアでclearfixを使ったらカラム落ちしたので、ちょこっとメモメモ。

画面幅にしたがってメインエリアの幅を可変にしたいので幅は設定できない。はじめは左にマージンを持たせることで対応したらカラム落ちした。:afterのclear:bothが効いてしまってるらしい。

結局、メインエリアに「overflow:hidden」で何とかなった。。。と思う。

 

 

[concrete5]ブロックカスタマイズのメモメモ

5.7でブロックをカスタマイズするのに、ひっかかりまくり。
いろいろとメモしてきます。

------------------------

ブロックをapplicationに複製するとエラーになる

controller.phpの中の名前空間「namespace」を書き換える必要がある。

例)namespace Application\Block\Faq;

------------------------

常時SSLの基礎知識

シマンテックのオンラインセミナーを見たので、自分用まとめメモ
https://www.jp.websecurity.symantec.com/event/
-------------------------------------------------------
 
実はSSLはいまはほぼ使われてなくて、TLSに置き換わっている。
ただし「常時SSL」という言葉は一般に使われている。
 
-------------------------------------------------------
常時SSLのメリット
-------------------------------------------------------
 
◆通信速度が速くなる。
使われるプロトコル「HTTP/2」が同時に多重接続できるなどで優秀なため速くなる。
CPUなどのサーバスペックが良くなっているので暗号化のためのオーバーヘッドは無視できるレベル。
 
◆SEO対策
Googleが優遇すると明言したため。
劇的な効果ではないが全ページに効くというのもポイント。
 
--間違ったSSLを入れるとサチコが警告するのでチェックすること
 
◆従来から認められている価値。
 -- ユーザの安心感の向上
 -- セキュリティの効果
 
◆ウェブアプリなど制作管理の効率化
HTTPとHTTPSが混在するより、HTTPSだけのほうが管理が楽なのは当然。
 
◆ログ解析の精度が向上
httpsのリンク元からhttpに来た場合にリファラ―を渡さない場合があるため。
 
-------------------------------------------------------
実際によくある不具合としては、SSL非対応のツール類が入るとエラーが表示される。
  -- HTMLタグで他サイトから引っ張ってくるバナー
  -- JSやCSSを他サイトから読み込む場合
 
 -------------------------------------------------------
 
みんながhttpsになってくるので、取り残されるととても不利になる。
 
今後、HTTPSは当然で、今後の差別化は認証されたHTTPS。
 
HTTPSは通信経路の暗号化だけなので、システムの脆弱性をカバーするわけではない。
WordPressのアップデートなど、それはそれで必要。

 

MT|プラグイン使用履歴

MTもプラグインの使用履歴をメモしていきます。

--------------------------------------

--------------------------------------

--------------------------------------

某bungu様

## 基本プラグイン

  • RemoveBlank-1.04 : 空行や行頭スペースを削除してHTMLソースをスッキリ
  • QuickRebuild-0.6.2 : まとめて再構築
  • PageBute.3.5.7 : ページ分割

## 制作ユーティリティー

## 特用プラグイン

 

--------------------------------------

某seven-h様

## 基本プラグイン

  • RemoveBlank-1.04 : 空行や行頭スペースを削除してHTMLソースをスッキリ
  • QuickRebuild-0.6.2 : まとめて再構築
  • PageBute.3.5.7 : ページ分割

## 制作用ユーティリティー

  • DuplicateEntry 2.11 : 投稿の複製

## 特用プラグイン

  • MTCheckRelease-1.1.12 : 承認フロー

--------------------------------------

SSHを使うと「ココが便利」のポイント

SSH(通称「黒い画面」)を他人に勧めるのに漠然としていると伝わらないので、実際に便利だったポイントをメモメモ。

-----------------------------------

MTやconcrete5などのアップロード

  • zipのままでFTPソフトでアップロード
  • SSHでunzip
  • SSHでmvかけて正しいディレクトリに収める

アップロード自体はFTPソフトでやるんだけど、圧縮されたzipのままでアップすると10秒程度でできる。
特にMTやconcrete5は解凍するとファイル数が多いので有効。

-----------------------------------

WordPressのバックアップ&アップグレード

  • SSHでwordpressフォルダを適当な名前でcp
  • phpMyAdminでDBをダンプ
  • WordPress管理画面から「アップデート」をポチる
  • 確認して問題なければ終了

WordPressのファイルバックアップをFTPでローカルに落としていたが、要は元に戻せれば良いのでサーバ上にコピーを作成だけでOK。
今まで15~20分かかっていたFTPバックアップが15~20秒で済むようになった。

-----------------------------------

-----------------------------------

-----------------------------------

Let's note CF-Y7をWindows10にアップグレード

CF-Y7はかなりの名機だと思う。

モニターが1280×1024という当時のデスクトップと同じ大きさだったり、何よりこの性能でこの軽量さは素晴らしいものだった。デザインも他のノートとは一線を画していて、所持すること自体に満足感があった。また震災時には、イーモバイルとの組み合わせで大活躍だったこともあり、自分にとっては愛着のある一台である。

ただWebという仕事柄、グラフィックボードが欲しくなったりHDDが80Gと小さいのがネックだったりで、DELLのXPS15zに乗り換えたことで役割を終えた。

先日、娘が「中学生になったら、お父さんの使い古しでいいから私専用のパソコンが欲しい」と言ったので、思い出したのがこのマシン。

SSD化しただけでもぜんぜん使い物になるはずだけど、Vistaがもうじきサポート切れなので、Windows10へのアップグレードを試してみた。
なにげに苦労したので手順をメモメモ。

--------------------------------------------------

最初にSSDに換装

  1. 買ってきたSSDはフォーマットを済ませておくこと
  2. このとき、普通にフォーマットしてしまうとgptになってしまうので、mbrへ変更すること
  3. Easeus Todo Backup」を使ってHDDをSSDにクローン
  4. HDDをSSDに差し替えて起動すれば、何事もなかったかのように完了している

後で考えると、windows10をクリーンインストールするので不要な手順かも。
ただ、フォーマットでmbrにすることを見つけるのに手間取ったので、この問題とwindows10インストの問題が重なってたらもっと悩んだ可能性あり。結果的には問題を切り分けできたので良かった。

--------------------------------------------------

Windows10をクリーンインストール

事前の準備として、Window10通常版をヨドバシで購入。このパッケージにUSBスティックとプロダクトキーが入っている。

  1. CF-Y7のBIOSを変更。デフォルトではUSBは起動対象外なので、「x」で対象に入れて「F6」で優先上位に移動する。
    (USBほにゃららがいくつかあるが、面倒なので全部上にもってった)
  2. USBスティックを指して起動させる。あとは画面の指示にしたがって進めれば終了。

BIOSのデフォルトでUSBほにゃららが起動対象外となっていたが、これを変更できることに気がつくまで時間がかかってしまった。
Win10インストールDVDを作ってみたが、なぜかブートディスクとして反応してくれなかった。

 

--------------------------------------------------

OSとSSDで3万円ちょいくらい。Win10+SSDで快適になったとはいえ、CPUがCore2DuoということでイマドキのPCとしては物足りないスペックではある。ただWind10にできて、愛着の一台を延命できたという点が良かったかなという感想。容量の大きいHDDにもいっぺん換装して、ファイルサーバ的に使ってもいい。

XP末期のタワー型にインストールしてファイルサーバ的に使ったら良いかも。

--------------------------------------------------

【2016.11.04追記】

実用で使うとファンの音がけっこううるさい。立ち上がりからずっと全開で回っている感じ。Core2Duoは世代的に古いのでグラフィック機能が弱いからか?
なので、Windows10 の設定でグラフィック効果系をひと通り停止するなどしてCPUの負担を軽減。これでやや落ち着いたものの、まだ物足りない。

電源オプションから、プラン設定の変更 > 詳細な電源設定の変更 > プロセッサの電源管理 で、CPUの稼働を80%に抑えたら良い感じになった。
もちろん、これは性能を落とすことになるのだが、操作していてのカクカク感はない。(グラフィック効果を切っていることもあるからか?) 大きなファイルのコピーのような地味にCPUを使う場面では待たされる時間が長くなるものの、「こんなもん」と思えばさほどストレスではない。

--------------------------------------------------

【2018.02.07追記】

グラフィック効果の停止方法など書き留めてなかったので追記。

----
Windows Defender を完全無効化
※ノートンなどのセキュリティソフトが入っていることが前提

ネタ元 : https://boxil.jp/mag/a13/

以下はネタ元ページの手順をメモ書き
「ファイルを指定して実行」に[regedit]でレジストリーエディター立ち上げる

画面左部の「HKEYLOCALMACHINE」をクリック
  > SOFTWARE
     > Policies
        > Microsoft
           > Windows Defender

画面中央空白の部分で右クリック
  > 新規
     > DWORD

レジストリの名前を「DisableAntiSpyware」にする
  > 右クリックで修正
     > 値のデータ欄に数字の「1」を入力

※上記だけではFireWallが止まらなかった。いろいろ試したらできちゃった感じなので自信ないけど、Win8からの「高速スタートアップ」設定が不動作の原因のような気がする。

----
システムを「パフォーマンス優先」に
※ディスプレイのアニメーションなどをOFFにしていくと軽くなる

PCアイコンを右クリック
  > プロパティ
     > システムの詳細設定
        > 詳細設定タブからパフォーマンスを設定する

MT for AWS|作業メモあれこれ

いろんなサイトに情報はあるが、SSHに慣れている人向けだったりするので、前提になる「そもそも情報」が抜けてたりする。見つけたサイトをここにメモメモ。

--------------------------------------

元ネタはこちら
http://dev.classmethod.jp/cloud/aws/aws-beginner-ec2-ssh/

 

まず、AWSを設置する際の下記の情報があることを確認

  • グローバルIP or ホスト名
  • 秘密鍵(.pem)

次に、ユーザ名。AmazonLinuxはデフォルトで[ ec2-user ]

 

TeraTermで接続

「新しい接続」でグローバルIPを入力してOK

次の画面で、ユーザ名を入れ、秘密鍵を選択するが、
.pemは一覧に出なかったりするので「すべてのファイルを表示」で探す

これでログインできれば成功!

 

WinSCPで接続

上記のグローバルIPと秘密鍵、ユーザ名で接続できるはず。

ただし、/home内のカレントディレクトリ以外はパーミッションの関係でアップロードできない。
これは、SSH接続して、コマンド[ sudo ]のスーパーユーザ権限を使って、パーミッションを変更してあげる必要あり。

--------------------------------------

プラグインをアップロードしても反映されない場合

元ネタはこちら:http://communities.movabletype.jp/2016/06/awsmtappjquery.html

AWS版やクラウド版のMTは、PSGIで動作していてシステムがメモリに常駐しているために、プラグインをアップロードしただけでは読み込まれない。アップロード後に下記のいずれかで再起動する必要がある。

 

[MovableType]カテゴリーページで、記事一覧

元ネタはこちら
http://www.koikikukan.com/archives/2012/04/21-000300.php

MTのアーカイブテンプレートの記事リストで作るページでは、<mtEntries>で他の記事リストを作ることができない。それに対する対策は下記。

<mt:Blogs blog_ids="2" ignore_archive_context="1">
  <mt:Entries blog_ids="2" lastn="10">
    <$mt:EntryTitle$>
  </mt:Entries>
</mt:Blogs>

少し解説を入れておくと、記事リストのテンプレートではすでに記事をフィルタリング済みとなっていて、それが強く効いているらしい。そこで「ignore_archive_context」モディファイアを”1”として対策する必要あり。

mtBlogsと内側のmtEntriesの両方でblog_idを宣言していることに注意。

[ MT ]カスタムフィールドをループで処理

元ネタはこちら
http://www.h-fj.com/blog/archives/2012/11/13-163510.php

 

似たような項目を繰り返してカスタムフィールドを設定することがある。テンプレートで表示させる記述でループで簡略化できないかと考えたが、<$mt:ttl1$>というようなタグの末尾数字を変えていく方法がわからなかった。

これを解決するのが上記URL。

サンプルソースを転記

<mt:For var="x" from="1" to="3">
  <mt:SetVarBlock name="tmpl">&lt;$mt:Color<$mt:GetVar name="x"$>$&gt;</mt:SetVarBlock>
  <$mt:GetVar name="tmpl" decode_html="1" mteval="1"$>
</mt:For>

[ MT ]投稿窓にCSSを反映

元ネタはこちら
http://makepo.jp/content/column/course-cms/mt-tips/2015-06-12.html

 

Movabletypeの投稿窓にCSSを反映させたい場合は「設定」から。

変更したいウェブサイト、ブログを選び、左メニューの[設定] => [投稿] >[WYSIWYGエディタの設定]

元ネタはこちら
http://www.littlepad.net/blog/2009/06/16/123530

MTディレクトリ/tmpl/cms/include/asset_upload.tmpl

の先頭行に、

<$mt:setvar name="extra_path" value="upload_images/"$>

を追加して、(そのままアップすると、アップグレードで戻ってしまうので、)

MTディレクトリ/alt-tmpl/cms/include/asset_upload.tmpl

と、代替えテンプレートとしてアップする。

SNSボタン設置法まとめ

良記事みつけたので、メモメモ。

https://syncer.jp/how-to-setting-share-button

 

[win]同報メール配信ソフト Mail Distributor

dachas用に探してみた。
なかなか使いやすそうなのでメモメモ。

【配布元サイト】
http://www.woodensoldier.info/soft/md.htm

【Vector】
http://www.vector.co.jp/soft/winnt/net/se242941.html

具体的な手順を探すのに意外と手間取ったので、ここにメモメモ。

-----------------------------------

1. あらかじめ管理画面からDBを作成しておく。

2. (ssh接続時の)カレントディレクトリにsqlファイルをアップロード。

3. ssh接続する

4. mysqlにログイン
% mysql --host=mysql***.db.sakura.ne.jp --user=**アカウント名** --password=**DBパスワード**

5. DBを選択
mysql> use ***作成したDB名***

6. データをインポート
mysql> \. **sqlファイル名**

 

[mysql & SSH] リファレンスページ

sshでmysqlを扱うのに、手ごろなリファレンスページを見つけたのでメモメモ。

http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html

 

レイヤーごとにスライスを書き出す方法。
鷹野さんが話していたのを改めて調べたので手順をメモメモ。

元ネタはこちら
http://www.dtp-transit.jp/adobe/photoshop/post_1764.html

最初に、[ ファイル > 生成 > 画像アセット ]

次に、各レイヤーに拡張子を付与すると書き出される

【Illustrator】ファイルをタブで開く

ファイルを開くといつも独立した窓で開いてしまうので、画面を移動するときなどはイラレ本体とファイル窓と両方を動かすか、合体させるかしないといけなかった。まぁ大したことではないのでやり方を本気で探すことはしてなかったけど、地味に不便でした。

やり方を見つけたのでここにメモメモ。

編集 > 環境設定 > ユーザーインターフェース
から、「タブでドキュメントを開く」にチェックを入れる。

元ネタはこちら https://www.softel.co.jp/blogs/tech/archives/4391

下記のように書く

a:focus, *:focus { outline:none; }

vimeoへのアップロードはDropboxが便利

動画サイトvimeoはパスワードで関係者だけに制限できるので便利。楽にアップする方法に気がついたのでメモメモ。

アップロードするときには、Dropboxを経由すると楽ちん。まずは自分のDropboxにアップしておいて、vimeoを操作すると複数のファイルをアップするのがとても楽にできる。

イラレで作られたスマホサイトのデザインから書き出ししていて、ヨコ640で書き出したいのに、Web用に保存するとき勝手に縮小される症状が出た。

ググってみたら、Photoshopでも同じ状態があるらしい。

原因は縦横どちらかが8192pxを越えると勝手に縮小されるとのこと。

https://forums.adobe.com/message/5602035

 

[concrete5]予期せぬエラーが発生しました。

いろいろな原因があるようで、けっこうハマるポイントだったりする。
経験するたびに書き足していきます。

---------------------------------

page_theme.php冒頭のパス記述にミス

今回はコミュニティからダウンロードしたテーマを自作として登録しようとしてエラーが出た。ディレクトリを移動したので、デフォルトでの記述から書き換えないといけなかった。

半角スペースには二種類ある!

これを知らなかったために、CSSが効かない理由がわからずハマりまくりでした。

大事なことなのでもう一度書きます。

半角スペースには二種類ある!

元ネタはこちら

http://vox.nevnum.com/%E3%80%90%E3%83%A1%E3%83%A2%E3%80%91google-map%E3%81%AB%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%92%E5%BC%B5%E3%82%8B%E9%9A%9B%E3%81%AE%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF/

 

主なところを下記にピックアップ

座標を指定する
https://maps.google.co.jp/maps?ll=35.669029,139.705421

ズーム倍率を指定する
https://maps.google.co.jp/maps?ll=35.669029,139.705421&z=15

キーワード検索の指定
https://maps.google.co.jp/maps?q=%83%89%83t%83H%81%5b%83%8c%8c%b4%8fh

地図表示を切り替える
https://maps.google.co.jp/maps?ll=35.669029,139.705421&t=k

・t=m(デフォルト)
・t=k(航空写真)
・t=h(航空写真+ラベル)
・t=p(地形)

 

--------------------------------------
こちらもまとまっていて見やすい

Google Mapsを使ってみよう
http://www.shurey.com/html/googlemaps.html

Facebook|Page Pluginの設定方法をメモ

ライクボックスやら何やらが「Page Plugin」にまとめられるようなので、設置方法をメモメモ。

元ネタ:http://nelog.jp/how-to-use-facebook-page-plugin

 

要するに、https://developers.facebook.com/docs/plugins/page-plugin にアクセスしてごにょごにょすると埋め込みソースをゲットできる。

イラレ|クリッピングマスクのかけ方

基本的な操作だけど、イラレを普段使っていないので忘れてしまうのでメモメモ。

https://helpx.adobe.com/jp/illustrator/kb/224369.html

 

要はパスを書いて、写真とともに選択し、[オブジェクト] > [クリッピングマスク] - [作成] 

 

facebookのロケール

自分のfacebookの設定を「関西バージョン」にしておいたら、お客さんのfacebookページを作成してサイトに埋め込んだ時に、関西バージョンになってしまっていたのでメモメモ。

埋め込みコードの「js.src」のところにURLを入れることになるが、「ja_KS」となっているのが関西バージョン。戻すには「ja_JP」に修正すればよい。

 

 

SSD換装したのでメモメモ

HDDをSSDに換装した。かなり簡単だったけれどいくつかのポイントもあったのでメモメモ。

 

【換装手順】

  1. SSDを買ってくる
  2. HDDをSSDにクローンコピー
  3. PCをばらして換装する

以上これだけ。

 

【SSDの規格】

  1. まず、SSDはシリアルATAなので、換装前のHDDをチェック。
    (よほど旧型でなければ大丈夫とは思うけど)
  2. デスクトップ用の3.5型 or ノート用の2.5型かをチェック
  3. ノート用2.5型なら、厚み7mm or 9mm かをチェック

細かいことを抜きにすればこれだけチェックしておけばOKらしい。

【クローンコピーのツール】

今回使用したのは「EaseUS Todo Backup Free 8.2 」。
有料ツールの無料簡易版だが、クローン機能が無料版にもついている。

 → ダウンロードは公式サイトから。https://jp.easeus.com/backup-software/free.html

【SSDを認識しなかった問題】

クローンコピーのために外付けディスクとしてSSDをUSB接続したところ、認識しなかった。
フォーマットされていないのが原因らしい。

「PC」右クリックからディスク管理あたりをごにょごにょしたら、下のレベルでは認識していたのでそこからフォーマットかけてめでたく認識成功。

【感想】

手順も簡単で「とほほ」状態になりにくい印象。
SSDの価格も512MBで2万ちょいとこなれてきたので、ぜひおすすめ。
イラレが「3.2.1ポン」で立ち上がるのにはむちゃくちゃ感動。

【vistaなど古いマシンでの注意】

フォーマットの際に「MBR(マスターブートレコード)」としてフォーマットすること。GPTだとディスクとしては認識されてもブート用としては認識されない。

IE対策|とボタンがずれる

元ネタは http://www.export-japan.co.jp/blog/ie%E3%81%A7%E3%81%AF%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%EF%BC%88%EF%BC%89%E3%81%A8%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%81%8Cvertical-alignmiddle/

 

IEの場合は<input>がvertical-alignで高さ揃えができないので、display:inline;してからvertical-alignをかけるとよい。

WordPress|本番公開でURLが変わる場合

元ネタはこちら
http://bge.jp/wordpress-rename-manual/

ダンプしたDBデータを置換すれば良いだけと思っていたし、これまでそれで大丈夫だったが、それでは引っかかる場合があるとのこと。
URLが「シリアライズ」されている場合にURLの文字数も書いてあったりするのでエラーの原因になるらしい。

要は「searchreplacedb2.php」というフリー配布のスクリプトを使うとよいそうな。

 

C5|5.7をインストールする際の留意点

5.7をインストールする場合は、どこのサーバを使うにせよ、新規契約を前提とすること。

以前から使っているさくらインターネットにテストサーバを作ろうとしたら、設定してあるphpのバージョンが古かった。他のシステムが動かなくなる可能性があるので全体を上げることはできないため、ディレクトリを区切ってPHP5.4を使うように設定しようとしたら大ハマリ。結果、インストールができていない。

新規契約でサーバ全体を自由に設定変更できる場合は、ググって何とかなることも多い。

 

5.7で自作テンプレートで不具合が出た件は、すんなりインストールできたサーバでは不具合で無かった。(-- 要もっと確認)

C5|今回覚えたことをメモしておく

コンポーザーの設定方法(流れだけ)
http://concrete5-japan.org/help/5-6/editing/composer/

  1. コンポーザを使ったページを追加する親ページを作成します。(ホームと同列に作る場合は不要です。)
  2. デフォルト(ひな形)ページを「ページタイプ」として登録します。
  3. 「ページタイプ」のデフォルトページ(ひな形)をページを作成します。
  4. 「ページタイプ」をコンポーザで使う設定をします。

 

ページタイプの削除
http://concrete5-japan.org/community/forums/beginner/post-5836/

ページタイプの設定からできるが、どのページでも一切使っていない状態でないと削除できない。
古いバージョンで使っていてもダメなので、それぞれのページのバージョン削除する必要がある。

 

ブロックのカスタマイズ(ページリストブロックに日付を付加して新着一覧)

要はview.phpをいじれば良い

phpで他のページの一部を利用する

<?php
function ripping_html($source){
$start = '<!-- Next Study start -->';
$end = '<!-- Next Study end -->';

$html_source = file_get_contents("$source");
$rip_source = preg_replace('/\n/', ' ', $html_source);
$pattern= "/$start(.*)$end/";
preg_match($pattern, $rip_source, $match);
echo $match[0];
}
//example
//ripping_html('../../research/publiclaw/index00.html');
?>

こんな感じで、該当ページのスタートからエンドまでを抜いてきてくれる。

WordPress|システム外でデータを使う

WordPressのシステム外にphpファイルを作り、データを活用することができる。

<?php
//wp-blog-header.phpを読み込む(WordPress外でもWordPress独自の関数を使えるようにする)
require('./wp-blog-header.php');
?>

冒頭にこんな記述をすると、あとはテンプレートを作る要領でイケる。

ユーザプロフィールを前面に出す「メンバー管理」的なサイトを作っているので、あれこれメモメモ

 

◆基本的な手法

管理画面のユーザ設定で、Advanced Custom Fieldsによりユーザプロフィールの内容をカスタマイズする

 

◆ユーザプロフィールのカスタムフィールドから値を抜く方法

http://www.advancedcustomfields.com/resources/how-to-get-values-from-a-user/

WordPress|Advanced Custom Fields の使い方

私も愛してやまないAdvanced Custom Fieldsの使い方を詳しく解説しているページを見つけたのでメモメモ。

私が愛してやまない、Advanced Custom Fields の使い方を詳細解説[ 出力編 ]

私が愛してやまない、Advanced Custom Fields の使い方を詳細解説[ 設定編 ]

 

デイトピッカーを使った場合に、日付を整形するには

$date = '2013-01-01 00:00:00';
echo date('Y/m/d', strtotime($date));
 

Advaced Custom Fiesds を使ってゴリゴリやるのが好きなんですが、複数のフィールドグループを使い、設定したものからドラッグアンドドロップで変更したときに、初期化する方法が見つかりませんでした。

今回、DBを直接いじって初期化したので手順をメモメモ。

「xxx_usermeta」テーブル から 目的のユーザIDの「meta-box-order_post」を探し、行ごと削除

これで初期化できました。

 

2か国語対応が必要となった。決定版といえる「qTranslate」が、作者の都合で更新が止まっているらしい。おまけにコイツはWordPressのアップデートで動かなくなる可能性が高いとのこと。

そこで「bogo」を試したので、いろいろと気がついたことをメモメモ。

----------------------

【中国語が勝手にデフォルトで有効になっている問題】

管理画面からの無効化はできない。[ wp-content / languages / ]の.moファイルを削除することで対応。

----------------------

【言語切り替えのソース】

ショートコード : [bogo]

php内 : <?php echo do_shortcode('[bogo]'); ?>

----------------------

日本語版のとき、「日本語/English」となってほしいのに「日本語/英語」となる。
設定変更するところが無いようなので、正規表現でごにょごにょして何とかした。

----------------------

メニュー項目や定型見出しなどは、英語訳の対照表を配列で作って、ロケールで切り替えるようにすると、訳を変更するときに一括でできるので便利。

----------------------

和英で単語を分岐させる自作関数

//function.php
function wordTrans($word_ja , $word_en){
  $locale = get_locale();
  if('en_US' == $locale ){ echo $word_en ;}
  else{ echo $word_ja ;}
};

//html

<?php wordTrans('和文単語' , 'English_Word'); ?>

 

----------------------

記事を複製するプラグイン「Duplicate Post」を使うと、相方となる翻訳記事の管理がダメになることがあるので注意が必要

----------------------

固定ページにquery_posts()を使うと、ロケールが日本語固定になってしまう(要検証)

----------------------

----------------------

----------------------

----------------------

WordPress|外部のRSSを読んで表示させる

なんか簡単にできるそうなのでメモメモ。

ネタ元 : http://mbdb.jp/hacks/wordpress/wp-outside-rss.html

後でまとめます・・・

Chromeで「ホスト解決しています」となってページ表示に時間がかかるようになったので調べてみた。結果をメモメモ。

元ネタはこちら : http://blog2.k05.biz/2014/07/chrome-dns.html

 

手順

1.WindowのDNSキャッシュをクリアする
  --- コマンドプロンプトから、「ipconfig /flushdns」

2.Chrome 内部のDNSキャッシュをクリアする
  --- Chrome「chrome://net-internals/#dns 」を開き、[Clear host cache]ボタン

3.Chromeを再起動する

 

元ネタはこちら : http://ishoten.com/web/wordpress/wordpress-customization-post-list

function manage_posts_columns($columns) {
        $columns['customfield'] = "タイトル";
        return $columns;
}
function add_column($column_name, $post_id) {
        if( $column_name == 'customfield' ) {
                $stitle = get_post_meta($post_id, 'customfield', true);
        }
        if ( isset($stitle) && $stitle ) {
                echo attribute_escape($stitle);
        } else {
                echo __('None');
        }
}
add_filter( 'manage_posts_columns', 'manage_posts_columns' );
add_action( 'manage_posts_custom_column', 'add_column', 10, 2 );

Windows8高速化|Windows Serch の停止

ネタ元はこちら http://d.hatena.ne.jp/mar74_2nd/20130305#1362414767

タスクマネージャで見て気になった「microsoft windows search indexer」を停止できるようなのでメモメモ。

 

止めるには?

Windows8では以下のようにします。

  1. マウスカーソルを画面左下隅に移動して右クリック、出てきたメニューの中から[コンピュータの管理]を右クリック
  2. [コンピューターの管理]を開く
  3. 左列のメニューにある[サービスとアプリケーション]の左側の白い△三角を左クリックして展開
  4. その中の[サービス]を左クリックすると中が見える
  5. 項目の[Windows Serch]を右クリック、[プロパティ]、[全般]タグ内“スタートアップの種類”を「無効」、“サービスの状態”を「停止」

これでSearchIndexerは停止します。

起動させるには?

  1. 左下隅で右クリック[コンピュータの管理]を右クリック
  2. [コンピューターの管理]を開く
  3. 左列のメニューにある[サービスとアプリケーション]の左側の白い△三角を左クリックして展開
  4. その中の[サービス]を左クリックすると中が見える
  5. 項目の[Windows Serch]を右クリック、[プロパティ]、[全般]タグ内“スタートアップの種類”を「自動」または「自動(遅延開始)」、“サービスの状態”を「開始」

これでSearchIndexerは動き始めます。

[Edge Inspect] cookieなどのキャッシュクリア

Edge Inspect の情報って、公式のアナウンス系以外にはほとんど出てなくて困ることが多い。

今回、jQueryがらみでcookieの設定が残ってしまい、クリアする方法を探すのに苦労したのでメモメモ

 

【iOSの場合】

標準ブラウザであるSafariに依存するようで、そちらのキャッシュをクリアしたら治るらしい
(自分では試していないが)

【android(2.3.5)の場合】

こちらは標準ブラウザをごにょごにょしても治らない。
下記の手順で開いたEdge Inspectをごにょごにょする

設定 > アプリケーション > アプリケーションの管理 > Edge Inspect

 

イラレCC2014でパネルがでかすぎる件

イラレのCC2014にしたら、パネルがでかくて使いにくい。
ぐぐっても情報がほとんどでなくて苦労したので、ここにメモメモ。

ネタ元はこちら
http://memomemo777.blogspot.jp/2014/11/illustratorcc2014.html

[環境設定] > [ユーザインターフェース] で、「高DPIディスプレイ用に。。。」のチェックをはずしてキャンセルできる。

ただし、最新にバージョンアップをしていないと、このチェックボックスが出てこないので注意。

 

ハードディスクへのアクセスが多すぎる感じがする。
基本的にはDropBoxの影響が大きいとは考えているが、それ以外をつぶしておきたいので調べてみた結果をメモメモ。

 

第一に「インターネットプロトコルのIPv6の機能をOFFにする」

  1. ネットワークのプロパティを開く
  2. アダプタの設定を開く
  3. ネットワークアイコン(ローカルとか、ワイヤレスとか)を右クリックしてプロパティを開く
  4. インターネットプロトコルバージョン6(TCP/IPv6)のチェックを外す
  5. OKボタンを押す

 

次に、「ホームグループへの参加を終了する」

  1. コントロールパネルを開く
  2. 表示方法を大きいアイコンにする
  3. 「ホームグループ」というアイコンを開く
  4. その中にある「ホームグループへの参加を終了する」という文字をクリック
  5. 再度、参加を終了するというボタンを押します。

 

【WordPress】MW WP FORMの使い方

MW WP FORMがピカイチに使いやすい。ので、使い方メモ

細かいことは下記リンクから

http://plugins.2inc.org/mw-wp-form/

【HTML5】role属性の設定

今時点で、私のところで即々求められてはいないのですが、こういうのもボチボチやっていこうと思います。
ただ、最初からてんこ盛りにして続かないとつまらないので、最低限これだけはというのをメモメモ。

  • banner - ヘッダー
  • navigation - グローバルナビ
  • main - メインコンテンツ
  • contentinfo - フッター

まずはこの4つを必ず設定していくようにしていきます。増やしながら追記しながら。。。

SVG画像の作り方

元ネタはこちら:http://mkasumi.com/blog/making/entry-59.html

  1. イラレで「別名で保存」でsvgで書き出す
  2. Fireworksでプラグインで書き出す(Export)

【WP】Facebookプラグイン

Facebook 純正プラグインを試したので設置方法をメモ

(ただし現時点ではまだ接続が成功していない)

  1. 管理画面から「facebook」で検索してプラグインをインストールして有効可
  2. facebookからデベロッパーへログインしてAppの番号を取得する
     -- ここであれこれ設定する必要があるので、それが不動作の原因と思われる
  3.  

【C5】セキュリティ向上策

concrete5 のセキュリティ向上策はまだたくさんは出ていないけど、気がついたり拾えたものからメモを書き溜めていきます。

 

  • スーパーユーザー「admin」の名前を変更
    加えて、スーパーユーザーを使わないときはアカウントを無効にしておく
  • .htaccess でログインファイルを守る。可能ならIP制限、無理ならパスワード制限。
  • config/site.phpファイルの保護(.htaccess)

    # protect site.php.php
    <files wp-config.php>
    order allow,deny
    deny from all
    </files>

  • ディレクトリ一覧の非表示(.htaccess)

    Options –Indexes

    ※サーバにより記述方法が違うかも?

 

今後に期待したいのは、、、

  • ログインを複数回ミスるとログインできなくなるアドオン
    (2015.10.07追記 最初から実装されてるとのこと)

【WP】Wordpress納品前のチェックリスト

ちゃんとまとめておかないと抜けたりするので、ちゃんとメモメモ。
随時追記していきます。

  • ログイン制限プラグインが入っているか
  • (可能なら) .htaccessによる、IP制限もしくはパスワード制限が入っているか
  • お問い合わせフォームの届け先メアドは修正したか
  • コメント・トラックバックは停止してあるか
     -- 個別記事も停止してあるか
  •  

【C5】concrete5のメリットとデメリット

週刊concrete5 より、要旨をまとめてみた。

メリット

  • 直観的な操作 -- お客さんウケが良い
  • 他のCMSに比べてカスタマイズしやすい
     -- っていうか、もともとが企業サイト向けなのでカスタマイズする必要が薄い
  • イニシャルコストが安い -- これはWPも同じか(?)
  • 権限モードがデフォルトでついている
     -- 地味にクライアントから要望があるところ
     -- ガチな権限というより、「確認してから公開したい」程度の要望にも対応可能。
       -- 下書き保存&プレビュー機能が意外に便利
  • 「フルページキャッシュ」機能を使うと、静的HTML並みのパフォーマンス
  • 日本でもサポート体制が整っている。
  • アドオンなど、レビューチームによる審査を経ているので信頼できる。
     -- 企業サイトなどでも安心して使える。

デメリット

  • ブログ機能が弱い
     -- 有料のブロックをインストールすることで向上できるが、それでも弱い
     -- 新着情報をバンバン出すような企業サイトの場合は要注意
  • タブレットからの更新ができない (改善の努力中ではあるが)
  • ドキュメントが少ない(書く人が少ない)
     -- MTやWPはブログツールなので、「作る人=ブログを書く人」的な側面があるらしい。

違いを端的に

  • MTやWPはけっこうコーディングしないといけない = 左脳的
  • C5は最小限のコーディングで済まして、右脳を使って感覚的に構築することができる。

 

-----------------------------------
以下は個人の雑感

C5は小規模な企業サイトに向いているかもしれない。

WPの場合は、積極的に情報発信するサイトに向いている。C5は会社案内など固定ページの修正が主になるようなサイトということになるかも。(要検討)

MTやWPでもそうだが、TinyMCEやCKEditorなどにある「テンプレート(ひな形)」機能は地味に便利。カスタムフィールドで一生懸命に組むよりも、これをきちんと準備してあげたほうがお客様的には分かりやすかったりする。

concrete5の記事ブロックのTinyMCEをカスタマイズしてテンプレート(ひな形)機能を追加する方法を見つけたのでメモメモ。

元ネタ:http://sharedhat.com/blog/1178/

 

概略

  1. TinyMCEのディレクトリをコア領域からコピーして、ユーザー領域に複製
     -- /concrete/js/tiny_mce を、 /js/tiny_mce として複製
  2. テンプレートファイルとリストファイルの作成
  3. TinyMCEの設定変更
     -- 2で作成したファイルを登録する

WordPressの隠しオプション設定ページ

元ネタ : http://hirunebu.com/blog/archives/356

http://(インストールディレクトリ中略)/wp-admin/options.phpにアクセスすると、各種オプションの設定ができる。

  • メディアを挿入するときのデフォルトのリンク先を無しにしたいなら、image_default_link_typeを「none」

【VM】サーバONで自動起動させる設定

サーバをONしたり再起動させたとき、apacheやら何やらOFFっているので、サーバONと同時に起動させていく設定

vi /etc/rc.d/rc.local

で、下記を追記する

-------------

/etc/rc.d/init.d/iptables stop
/etc/init.d/mysqld start
/etc/init.d/httpd start
/etc/init.d/vsftpd start

 

SSHで使うコマンド覚書

apacheの起動・再起動関係

  • apacheの起動 : apachectl start
  • apacheの起動(SSLを利用する場合) : apachectl startssl
  • apacheの再起動 : apachectl restart
  • apacheの停止 : apache stop

デュアルモニタで運用していると、出先でシングルにしたときによくやってしまう。Windows7からはずいぶん減ったけれど、たまにあるのでメモメモ。

ネタ元:http://support.microsoft.com/kb/880147/ja

 

  • 移動するウィンドウをクリックしてアクティブにします。ウィンドウ自体をクリックできない場合は、タスクバーのボタンをクリックします。 
  • Alt キーを押しながら、Space キーを押します。 
  • M キーを押します。 
  • ウィンドウを方向キーで移動します。 
  • 任意の位置まで移動したら、Enter キーを押します。 

 

事前の準備

VMをインストールしておく

・バーチャルボックスのインストール(https://www.virtualbox.org/wiki/Downloads

OSを準備

・CentOS 【CentOS-6.5-i386-minimal.iso 29-Nov-2013 21:12 324M】
http://ftp.iij.ad.jp/pub/linux/centos/6.5/isos/i386/

=============================
下記に注意しながら次へ次へで進む感じ
=============================

サーバを新規作成

  • タイプ -- Linux
  • バージョン -- RedHat

LANポートの設定

  • cd /etc/sysconfig/network-scripts
  • vi ifcfg-eth0
      ONBOOT を 「yes」
  • vi ifcfg-eth1
      4行足す
      #BOOTPROTO=dhcp
      BOOTPROTO=static
      IPADDDR=192.168.56.101
      NETMASK=255.255.255.0

=============================
各種アプリケーションのインストール
=============================

アパッチのインストール

yum -y install httpd

  • yum -- パッケージのインストール
  • httpd -- アパッチ

IPテーブルを止める  /etc/rc.d/init.d/iptables stop

アパッチをスタート /etc/rc.d/init.d/httpd start

アパッチの状態を調べる /etc/rc.d/init.d/httpd status 

phpのインストール

  • yum -y install php php-gd php-mbstring php-mysql

mySQLのインストール

  • yum -y install mysql-server
  • 日本語の場合は文字化け防止のために、設定ファイルに下記を追記
    character-set-server=utf8

  • 設定ファイルは、/etc/my.cnf
  • mysql_secure_installation
  • 「etc/rc.d/rc.local」に下記2行を追記
    /etc/rc.d/init.d/iptables stop
    /etc/init.d/mysqld start

その他

  • FTP : vsftpd
  • 解凍 : unzip

 

mod_rewriteを使えるようにする

http://centoshome.seesaa.net/article/118972004.html

# vi /etc/httpd/conf/httpd.conf で、「# AllowOverride controls what directives may be placed in...」の下にある 「AllowOverride」を 「None」から「All」に変更する

 

=============================
小枝系
=============================

公開ディレクトリ : /var/www/html

VIの使い方メモ

  • i で書き込みできる状態に
  • :q -- 終了
  • :wq -- 書き込んで終了

動いているソフトの強制終了 : ctr+c

電源を切る : shutdown -h now

WordPressのセキュリティ

WordBench仙台でのメモメモ

---------------------

WordPress のテーマとプラグインの変更を、configファイルから停止することができる。

define('DISALLOW_FILE_MOP' , true )

を追記すればよい

ただし、自動アップデートができなくなるので、その時は一時的にはずすなどして運用でカバーが必要

 

WordPressを乗っ取られて一番怖いのは、<head>内に変なスクリプトを仕込まれて「アクセスしただけでウィルスに感染するサイト」にされてしまうこと。

テーマとプラグインの変更を制限すると、管理画面にログインされた最悪の場面でも、最悪の最悪は防ぐことはできる。

---------------------------

自動バックアップを毎日、7日分とるなど、バックアップをしっかりとっていつでも戻せる状態にしておくのも、セキュリティ対策の重要な一つ。

PDFへリンクするときの小枝

 

元ネタはこちら

http://d.hatena.ne.jp/momdo/20080719/p1

 

以下、元ネタページからの引用

 

*************************

例えば、2ページ目を開きたいなら、URLのあとに#で区切って

code=2と記述すればいい。

http://www.jitec.ipa.go.jp/1_01mosikomi/20a_annaisho/20a_all.pdf#page=2 (IPA*2)

とまあ、少なくともAcrobat Readerのプラグインが入っているなら、2ページ目が開く。

*************************

また、ズームを指定することができる。例えば50%にしたいなら、zoom=50とする。

http://www.jitec.ipa.go.jp/1_01mosikomi/20a_annaisho/20a_all.pdf#zoom=50

*************************

2ページ目かつ、ズームを50%としたいなら、&で区切る

http://www.jitec.ipa.go.jp/1_01mosikomi/20a_annaisho/20a_all.pdf#zoom=50&page=2

*************************

view=Fit | FitH | FitV

Fit ページ全体が収まるようにpdfを開く。

FitH ページの横幅が収まるように開く。

FitV ページの縦の長さが収まるように開く。

*************************

pagemode=bookmarks | thumbs | none (default)

ブックマーク(ページ)、サムネイル(しおり)、何も表示しない(デフォルトの動作)を選択できる。

*************************

scrollbar=1|0

スクロールバーを有効にするかどうかの選択。

*************************

search=wordList

pdfを開くときに単語を検索する。日本語を検索するときはutf-8でパーセントエンコーディングする。
複数の単語を指定するときは引用符でくくってスペースで区切る。例:search="word1 word2"

*************************

toolbar=1|0

ツールバーを有効にするかどうかを選択。

*************************

navpanes=1|0

ナビゲーションバーを有効にするかどうかを選択。

*************************

元ネタ

http://piyopiyocs.blog115.fc2.com/blog-entry-512.html

-----------------------------

下記からDL

http://www.apachefriends.org/download.html

インストールは、「次へ次へ」。

雰囲気で作業を進めて、終了。

-----------------------------

  • ポートを使ってるSkypeなどのアプリケーションを終了してから立ち上げること。
  • セキュリティの設定で文字化けが発生するので、下記参照にて修正
    http://fu-tara.com/wordpress000230/
  • データベースの設定は下記参照
    http://www.adminweb.jp/xampp/mysql/index5.html
    ※XAMPPのコンパネから「admin」ボタンでphpMyAdminを起動してすすめていく
  •  

元ネタはこちら
http://m.designbits.jp/12071310/


<?php echo $post->post_content; ?>だとそうなってしまう。

the_content() で本文を出力すること。

WindowsにApacheをインストールのメモメモ

元ネタ : http://tenderfeel.xsrv.jp/memo/946/

 

テンプレートパラメータの設置方法を思い出すためのメモメモ。

<!-- TemplateParam name="param_name" type="text,boolean,number" value="xxxxx" -->

  • name → パラメーターの名前。テンプレートプロパティウィンドウを表示した時に表示される
  • type → パラメーターのタイプ。設定する値に応じて選ぶ
    • text : 文字列型。任意の文字を設定できる
    • boolean : ブーリアン型。チェックボックスでオンオフ切り替えることが出来るようになる
    • number : 数値型。数字しか設定できない
  • value → パラメーターの値。typeと異なる組み合わせは設定できない

 

type=text の場合、下記のような感じで挿入できる

@@(param_name)@@

chromeの不具合

jQueryで、イメージスライダーを実装した際、Chromeで二つの不具合が発生。けっこうレアなバグだと思うのでメモメモ。

使用したプラグインは、「jquery.bxslider」。

 

◆その1 画像ズレ Chrome全般

後続の要素の画像が、スライダーが動くたびに1pxほどずれては戻り、ずれては戻り。

センタリングしているものがズレているのは分かったが、他の画像は物によって症状が出ない。

原因は、ズレる画像の親要素の幅が奇数pxだったこと。偶数ピクセルにすると症状が出なくなった。

 

◆その2 テキスト色が薄くなる Mac Chrome & Mac safari

後続の要素のテキストが、スライダーの動きにつられて薄くなっては戻り、薄くなっては戻る。

症状の出ない箇所を参考に調べたところ、背景色がついてない場合に症状が出ることがわかった。

すべての要素に背景色を付与して症状が出なくなった。

文字サイズを変更するツールも使えるようになる。

http://notnil-creative.com/blog/archives/2240

IE8、バグフィックスのメモ

-----------------------------------------------

文字サイズのrem、これ効きません。

自分じゃ使わない単位だけど、jQueryプラグインとかでハマった時に疑ってみるべし。

-----------------------------------------------

form で、チェックボックス本体を非表示にしてラベルだけ見せて選択させるケース。

IE標準化用のプラグインを入れてくと、とりあえず「:checkd」は効く。

「+」も効く

だけど、チェックボックス本体を「display:nane;」にしてしまうと、「+」が効かなくなる。どうも「まったっくもって無い」ものとして扱われるらしい。

-----------------------------------------------

-----------------------------------------------

-----------------------------------------------

-----------------------------------------------

-----------------------------------------------

-----------------------------------------------

-----------------------------------------------

Windows8の設定関連

----------------------------------------------------------------

デフラグのスケジューリングを中止
----------------------------------------------------------------

なんかハードディスクが回りっぱなしの印象。もしやドライブが断片化しているのかと思いデフラグ関連を見てみたら、デフォルトでデフラグ自動実行の設定が週一回で入ってた。

これをオフにしてどうなるか、しばらく様子見。

【追記】なんだか良くなったような気がする。

----------------------------------------------------------------

Dell機のファンクションキーの設定
----------------------------------------------------------------

Dellのニューマシン、ファンクションキーにボリュームやらモニタの明るさの調整やら、他機ならfnキーを押しながらのメニューがデフォになっている。普通にF5やF10を使いたいときにfnを押すという、通常とは逆の設定で、使いにくいことこの上ないw

グーグル先生に聞いたら、BIOSの設定で変更できるとのこと。具体的な手順はグーグル先生にまかせるとして、とりあえずメモメモ。

いつも何となくできていたのがWin8で戸惑ったので、次回のためにメモメモ。

タスクバーで右クリック、[ ツールバー ] - [ 新規ツールバー ] でフォルダを登録し、そのフォルダを表示させる。

jsなどでリンクさせないhref=""の書き方

<a href="javascript:void(0)">

こんな感じで書く


input[type="text"]{
    margin:20px;
}
input[type="checkbox"]{
    margin:10px;
}

jQueryプラグインまとめ

いつもググって探していたので、効率化のためにここにメモ書き

jQueryのスライドショーやカルーセルを探してるならこれ使っときんさい

 

スライドショー・カルーセル

  • 無難になんでも使える -- bxslider
  • 某THKUNIV様 -- 左右チラ見せ -- jquery.film_roll.js
  • 某MGK様 -- 背景スライダー -- jquery.bgswitcher.js
  • レスポンシブで脱jQuery -- Swiper

チラ見せスライドショー

jQuery FilmRoll以外のプラグインでも、CSSで工夫することでの実装できる。ネット上で紹介されているのは下記のようなもの。

Bitbucketのエラーあれこれ

テスト用に複数のアカウントを作成していろいろいじってみる。

------------------------------

【Bitbucketサイト管理画面を日本語化】

ページ右肩のマークからアカウント管理へ移動。

言語を日本語にすることで、ページが日本語化される。

------------------------------

サブ垢でリポジトリのクローンを作成することはできたのだが、その後、Pushできない不具合でハマった。

原因はアカウントの設定。当該リポジトリのページから、[右肩の歯車マーク] - [アクセス管理]で
該当するアカウントを「ADMIN」にすることで解決。

------------------------------

gitでPULLできない対処

gitで作業しPushした後に、Pullしようとしたらエラー。

------------------------------

git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin

git -c diff.mnemonicprefix=false -c core.quotepath=false pull origin master
From xxx.xxx.co.jp:hoge/renew

* branch master -> FETCH_HEAD

Updating 2aa4242..831c49b

error: Your local changes to the following files would be overwritten by merge:
html/contact6/.index.html.php
html/documents/faq/index.html

(中略)

html/xxx/index2.html
html/xxx/xxx/e1rm_op.html
html/xxx/xxx/e1t_op.html

Please, commit your changes or stash them before you can merge.

Aborting

------------------------------

今回はすでにPushしてあり、先方でmarge済みだったので、
良く分からないから、いっそのことと元に戻すことに。
 
http://kawaz.hatenadiary.jp/entry/2013/04/03/002509
上記のずっと下のほう、「なにかエラーが出たら元に戻そう」の項目を参考に、
 

・「Discard」ボタン - 「Reset All」 で全リセットをかけた上で
・「Pull」ボタンによりPull

で最新にすることができた。

WordPressをアップグレードする際にはDBとサーバ内ファイルをバックアップする必要がある。このうちサーバ内ファイルをバックアップするのに、FTPダウンロードしていたが時間がかかりすぎる。

要はアップグレードしてヘグった時に元に戻せれば良いので、この部分をSSHでサーバ内にコピーすることにした。

以下はその手順メモ。

  1. TeraTermでSSH接続
    http://support.sakura.ad.jp/manual/rs/others/ssh.html
  2. ディレクトリをコピー
    http://www.jitaku-server.net/basic_command.html
    http://www.leosv.jp/manual/ssh2.html
  3. データベースをローカルにDL
  4. WordPress管理画面からアップグレードのボタンをポチる。
  5. 確認して問題がなければ終了
    (-- 問題があればバックアップから元にもどす)

 

逆引きUNIXコマンド

http://linux.just4fun.biz/%E9%80%86%E5%BC%95%E3%81%8DUNIX%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89.html

 

WordPress エスケープ関数

ネタ元はこちら
WordPressで使うエスケープの関数について

 

表示するだけなら esc_html

< > & ” ‘をエンティティ化する。(「<」→「&lt;」「>」→「&gt;」等表示に支障がないように置き換えてくれる。)

 

inputなどの値として出力して使う場合は esc_attr 

< > & ” ‘をエンティティ化する。HTMLタグ属性を取り除く。
タグの属性値として出力する際に使用する。

 

アドレスを出力する際は esc_url

URL文字列になっているかを調べて、適切でない場合は取り除き、URL文字列として最適化する。

動画設置のあれこれ(jQuery.player)

jPlayer(jQuery.player)で動画を設置するさいのあれこれメモ。

◆前提となるプレイヤーは、jPlayer(jQuery.player)

◆動画の変換は、「すーぱー連続動画変換」で行ったのがうまく動作した

  • Free Video Convertor で「mp4」変換したのは不具合あり。
  • なので、まずはm4vを作成
  • さらにIE10で不具合出たため、拡張子だけm4vからmp4に変えたところ動作した

◆動画ファイルへのパスの書き方を「http://」からのURLで記入

  • IE8での不具合が解消

◆Basic認証をのないディレクトリにファイルを置くこと

  • androidでの不具合が解消

◆読み込み優先はogvを最初にする

  • Firefoxでの不具合が解消

 

以下、今回は該当しなかったけど、サーバによっては下記が必要かも。

◆mime typeの設定

http://www.maido3.com/server/script/mimetype.html

WordPress 文字列のエスケープ関連

echo だけだとセキュリティリスクが出てくるので、

echo esc_html($taxonomy->name);みたいにエスケープすること。

とりあえずメモメモ。

現在のページURLをphpで取得

<? //現在のページをphpで取得してしまう

$page_url_get = 'http://'.$_SERVER["HTTP_HOST"].$_SERVER['PHP_SELF'];

$search_url = array('index.php','thanks.php');

$page_ok_url = str_replace($search_url,'',$page_url_get);

?>

勉強会のメモメモ

  • WP Total Hacks 
    -- 20項目以上のカスタマイズができるWordPressプラグイン
    -- 地味に便利
  • WP SiteManager
    -- WordPress をCMSとして利用する際に必要な機能を網羅した統合パッケージ
  • Stop the Bokettch
    -- ウッカリ防止、検索エンジンに登録しない設定のとき管理画面にアラート
  • Custom Post Type UI
    -- カスタム投稿タイプのプラグイン

  

オカンさんオススメの3大プラグイン
小中規模のCMSサイト構築なら、とりあえずこれをいれとけや的なもの。

  • WP Total Hacks
  • WP SiteManager
  • google XMLS SiteMaps

Twitter API 1.1でのメモメモ

以前に納品したサイト、当時はTwitterデフォルトのウィジェットだと最低幅の制限があったため「twitter.js」を入れていたが、API 1.1になったことによって表示されない不具合が発生。

今のTwitterデフォのウィジェットだと最低幅の制限が緩くなったみたいなので、デフォのウィジェットを設置することで解消させた。

覚え書きとしてメモメモ。

  • ウィジェットはアカウントにログインして作成する。
  • 他者のアカウントを読むウィジェットを作成することも可能。
  • 自分のアカウントで作成することもできるが、管理がややこしくなりそうなので、今回はクライアントのアカウント情報をお借りして作成。

WordPress ページ送りあれこれ

◆ページ送りがバグったときの対処用

元ネタ:http://webimemo.com/wordpress/1813

  1. wp_reset_query() より前にページ送りが記述されているか確認
  2. 2ページ目に飛んだときに、条件をうまく拾えてない可能性あり
  3. 自分のページ番号を見失っている可能性あり
  • 上記2,3の場合は、デフォルトの条件を崩さず条件を追記できるquery_posts()の書き方を、category.phpやsingle.phpに追記する。
  • 究極奥義:表示設定で「1ページの最大表示件数」を1にしておいて、各テンプレートのquery_posts()でこまめに件数指定を行う。

◆2ページ目が404になるときのチェック

WordPressの潜在的なバグで、ジャンプ先URLの末尾の関係で404になる場合がある。パーマリンク設定をカスタム構造にしている場合にありがち。

今回このエラーが出たので、[ /%category%/%post_id%/ ] のように、末尾に「/ (スラッシュ)」を付けることで回避することができた。

◆どのページに行っても最初のページが表示される症状のとき

本体のほうで query_posts('posts_per_page=2&paged='.$paged); みたいにpaged=xx の記述があるかチェック。

WordPressは、新規投稿時にはカテゴリーツリーが維持されているが、そこで選択したカテゴリーが編集時には一番上に表示されるという「ご親切(おおきなお世話)」な機能がデフォルトである。

ところが、カテゴリーツリーが分からなくなってしまうという、不便さを解消するのがこのプラグイン。

Category Checklist Tree

http://wordpress.org/plugins/category-checklist-tree/

WordPress管理画面からインストール可能

◆前提条件として、Advanced Custom Fieldsが入っていること

-------------------------

元になるWordPressから、「カスタムフィールド」>「export」で、画面の指示に従ってxmlファイルを作成。

こんな感じのができる。
「advanced-custom-field-export.xml」

-------------------------

移植先で、こんな感じの手順で進める

  • ツール » インポートと進み、WordPress を選択してください
  • (インストールを促されたら、 WP インポートプラグインをインストール)
  • エクスポートした .xml ファイルをアップロードし、インポートする
  • ユーザーを選択するが、Import Attachments を選択しない

漠然とできないと思っていたことが、必要で調べてみたらできることが分かったのでメモメモ。

ネタ元 : http://www.d-31n.com/blog_archive/wp-template/2101

 

<?php if (have_posts()) : ?>の前に

下記のような感じで記入

query_posts($query_string ."& posts_per_page=3");

 

◆これでページ送りが使えなくなったら、下記を試してみる

ネタ元 : http://webimemo.com/wordpress/1813

ネタ元:http://www.mono-lab.net/wordpress-customize/72/

formタグの下に一行追加するだけ

----------------------------------------------
<form method="get" action="<?php bloginfo('url'); ?>">
<?php /* ▼カテゴリ29だけを検索する */ ?>
<input type="hidden" value="29" name="cat" />

<p>
<input type="text" name="s">
<input type="submit" value="検索">
</p>
</form>

カスタム投稿タイプの覚え書き

投稿タイプにはデフォルトで「エントリー」「ページ」の二つがあるが、これに新たに投稿タイプを作るのが「カスタム投稿タイプ」。

普通にエントリーの一覧を表示させても、カスタム投稿タイプの記事は表示されない。query_posts()の引数にそれ用の設定を記述すること。

 

----------------------------------

◆function.phpを修正したら、パーマリンクを空で(変更せずに)更新する必要あり。

IllustratorでWeb向けの作業を行う

元記事はこちら
http://www.dtp-transit.jp/adobe/illustrator/post_1160.html

 

  1. カラーモードをRGBに([ファイル]メニューの[ドキュメントのカラーモード]→[RGB])
  2. 単位をピクセルに(環境設定の[単位]タブ、またはルーラー上でcontrol+クリック)
  3. ピクセルプレビューをオンに([表示]→[ピクセルプレビュー])
  4. ピクセルグリッドに整合をオンに([変形]パネルのパネルメニュー内の[新規オブジェクトをピクセルグリッドに整合]にチェックをつける)
  5. ラスタライズ効果設定で解像度を72dpiに([効果]→[ドキュメントのラスタライズ設定])
  6. 環境設定の[キー入力]を「1px」に設定

WordPressで管理画面のCSSをいじる

 

/*  管理画面用のCSSを読み込ませる
===============================================*/

カテゴリ窓の高さを変えたいときなどはこんな感じで、CSSファイルを作成してfunction.phpで読み込ませる。

function admin_css() {
   echo '<link rel="stylesheet" type="text/css" href="'.get_bloginfo("template_directory").'/admin/admin.css">';
}
add_action('admin_head', 'admin_css');

 

/*  管理画面 投稿窓用のCSSを読み込ませる
===============================================*/

投稿時の見た目と実際の見栄えを合わせることができる。

add_editor_style('/admin/custom-editor-style.css');

顧客への納品時、バージョンアップしろとしつこいのが嫌な場合、function.phpに下記のソースを記述する

ネタ元はこちら
http://htdsn.com/blog/archives/wordpress-admin-customize.html

 

// バージョン更新を非表示にする
add_filter('pre_site_transient_update_core', '__return_zero');
// APIによるバージョンチェックの通信をさせない
remove_action('wp_version_check', 'wp_version_check');
remove_action('admin_init', '_maybe_update_core');

jQueryのカンタン構文のコピペメモ

******************************************
リストのストライプ 偶数行に「.even」を付与
※偶数は0開始なので、実際は奇数行。
※evenの反対は「odd」
******************************************

 

$(document).ready(function(){
// for stripe
 $(".stripe li:even").addClass("even");
});

 

 

******************************************
#moreをクリックしたら#areaBlockのクラスを変えてアコーディオン
******************************************

$(document).ready(function(){
// for more
$("#more").click(function(){
$("#areaBlock")
.slideDown()
.removeClass("close")
.addClass("open");
$(this).remove();
});
});

-------------

CSS

 

 .close{ display: none;}

******************************************

スマートリリースは便利な機能だが、DB内にあるURLを書き換えてくれるわけではないので、WordPressをリリースするとちとややこしい。

今回の手順を忘れないようにメモメモ。

  1. FTPバックアップ&DBダンプでバックアップ
  2. DBダンプをテキストエディタで開き、ドメイン名を一括置換
  3. サーバ管理画面から新しいDBを作成して、置換後のダンプデータをインポート

ここでスマートリリースをかける
次に本番サイト上で修正

  1. htaccessを開いて記述変更(ベーシック認証を削除)
  2. wp-config.phpを開いて、DB名のところを新しいDBに修正

あとは、新しいサイトを開いて各種確認

  • メールフォームの送信ができるか?

WordPressで簡易サイト作成手順のメモ

ごくシンプルなテストサイト的な会社サイトを作ったのでその手順をメモメモ

  1. WordPressをインストール
  2. TwentyTwelveのカスタム版をテンプレートにあてる
  3. ロゴを差し替え
  4. フッターのコピーライト差し替え
  5. サイトの説明を変更
  6. ディスカッションでコメントをオフにする
  7. 外観-ウィジェットで必要なウィジェットだけにする
  8. メイン画像を追加

ダミーイメージ

制作途中のダミーイメージ。本番サバに置いてもいいけど、要はゴミ。置いておくのは気が引ける。そんな時にはこちら。

http://dummyimage.com/

WordPressの権限の名前

お名前サーバのメモメモ

お名前でドメイン&サーバを利用しているクライアント。ネットショップのため、他社のサーバにサブドメインを振っていた。

この時、メールが使えない状態だったのを解消すべく試行錯誤したのでメモメモ。

:::::::::::::::::::::::::::::

ドメインNaviでいろいろと操作するも、どうもうまくいかない。サポートに問い合わせると

 

--------
なお、弊社指定ネームサーバー以外でのご利用は技術的には可能
でございますが、サポートはおこなっておりませんのでご了承ください。
--------

とつれない返事。

最終的に、お名前サーバ側の管理画面からサブドメインを作ってDNS設定をできることを見つけたので、それで対応。

DNSの話はAレコードだけならまだしも、MXレコードとか絡んでくるとサーバ素人にはかなり困難と覚えておこう。

結局、「shop.xxxxx.com」は動いているが、その開発領域の「dev,shop.xxxxx.com」は設定できず。とりあえず今回は時間がないのでここまでとしておくしかない。

単純な話なんだけど、忘れてしまうのでメモメモ

ID:PW@URL

この書式でChromeに入力

php.ini を .htaccess で修正

php.ini の設定をちょいとだけ変更したいなら、.htaccessで上書きすることができる。

例)

## php.ini
php_value mbstring.language neutral
php_flag magic_quotes_gpc Off

こんな感じ。

scrollspyのメモメモ

 

スクロールに応じてナビゲーションをアクティブにする

Bootstrap-scrollspy.js

http://scriptogr.am/ia_archiver/post/2012-03-14-1550

 

Bootstrapの日本語ドキュメント

http://php-fan.org/sample_code_demo/bootstrap-js.html

 

※今回はゲットしたBootstrap-scrollspy.jsが古かったため、モノホンBootstrapから切り出して使用した。

縦書きさせるJavaScript

縦書きに挑戦する機会があったので、JavaScriptについてメモメモ。
探したかぎり、使えそうなものは下記の4種類

  • 竹取.js
    デモが左にスクロールさせて読み進めるタイプで、イマイチ操作感が悪かったのでとりあえずパス。
  • nehan
    縦書きしたいボックスにクラス名を振ることで実装。今回はこれを採用。
  • tategumi.js
    HTMLヘッダー内に一括して設定を記述する。けっこう突っ込んで試したところ、禁則処理した次の行に意味不明な空白行が生成。解決できなかったため、今回はパス。
  • h2v.js
    ライセンスで商用利用を禁止しているため、パス。モノとしてはよさげ。

 

CSSのみで縦書きさせる手もあるが、「~」や「ー」などが縦書きにならないので、JSを入れるのが現実的みたい。

CPIサーバーの管理系

CPIサーバの管理画面は、ロリポ・ヘテムルなどと比べて分かりにくい。
基本的な使い方の部分でひっかかったところをメモメモ。

-----------------------------------------------------------
 FTPアカウントの作成・設定
-----------------------------------------------------------

◆最初に管理画面からFTPアカウントを作成

ホーム > テストサイト用設定> FTP/ファイル管理 > FTPアカウントの設定 
 または
ホーム > 公開サイト用設定> FTP/ファイル管理 > FTPアカウントの設定

◆FTPソフトを設定

・FTP サーバー名 : IPアドレス(管理画面右の「契約情報」から拾う)
※テストサイト・公開サイトとも共通

・FTPアカウント・パスワード : 設定したものを入力

わかりにくいのは、公開サバでもテストサバでも、FTPサーバが同一ということ。
どちらの画面から作ったかで、そのアカウントがどちらに接続されるかが設定されるっぽい。

 

 

-----------------------------------------------------------
 データベースの情報
-----------------------------------------------------------

データベース名 : 
ホーム > 公開サイト用設定 > データベース >MySQLデータベースの追加・削除
で確認できる
 
ユーザ名 : 登録時の書式から(お客様IDと同じ)
 
パスワード : 登録時の書式から
 
データベースのホスト名 : localhost ※つながらない場合は「127.0.0.1」
 
 

 

-----------------------------------------------------------
 スマートリリース
-----------------------------------------------------------

スマートリリースの操作は、管理画面からではないので注意。
※ここから探そうとするとハマる。
 
ユーザー管理ポータルへログインしたら「スマートリリース」へ進む。
 

-----------------------------------------------------------
 各種情報・操作の見つけ方
-----------------------------------------------------------

◆公開ドメイン・テストドメインの見方

ホーム > お客様情報 > プログラムのパスとサーバの情報

◆Basic認証

ホーム > テストサイト用設定 > 制作ツール > アクセス制御 (BASIC認証) 

サーバ:ヘテムル
MT : Movable Type version 5.14-ja

データベース直でエントリーデータを1917件放り込んだところ、エントリーページが1400しか書き出されない状態。

原因の詳細は不明だが、投稿日を100件ごとにずらしてみたところ1900件書き出せるようになった。

あと17件。。。

[WordPress]プラグイン使えない時の小枝

 

「プラグインを使わずWordPressに9の機能をつける 」

http://www.webcreatorbox.com/tech/wordpress-without-plugin/

 

    人気の記事を表示する

    関連する記事を表示する

    記事をランダムに表示する

    最新のTwitter記事を表示する

    タグクラウドを表示する

    ソーシャルブックマークアイコンを表示する

    アイキャッチ画像

    カスタムナビゲーションメニュー

    Twitterフォロワーの数を表示する

下記をfunction.phpに追記する

http://kachibito.net/wordpress/limit_checkbox.html

WordPressの細かいTipsをメモメモ

 

2.4 改行を反映させる方法

カスタムフィールド内の改行タグを反映させたい場合は以下のように記述します。

<?php echo nl2br(get_post_meta($post->ID,'フィールド名',true)); ?>

****************************************************************************

カスタムフィールドプラグインの使い方

http://natuiro.com/wordpress/advanced-custom-fields/

****************************************************************************

single.phpの中でthe_content();を使いたいときは、下記の書き方

------------------------------------------
$this_content= wpautop($post->post_content);
echo $this_content;
------------------------------------------

****************************************************************************

ビジュアルエディタが余計なことをしてくれちゃう事への対処

プラグインでの不具合解消ができなかったので、アカウントのロールを設定し、固定ページを編集できるアカウントではビジュアルエディタをOFFにした。

****************************************************************************

記事を非公開にしても、管理画面にログインしている状態だと、「非公開」とついた記事が見えてしまう。
一瞬アセるが、ログアウトすれば見えなくなるので大丈夫。

 

****************************************************************************


WPの画像アップローダは、自動でサイズ別の画像を生成し、
さらにはメディア削除でサーバ上から消してくれるなどけっこうな高機能。
その分、複雑な処理をしているっぽいのでエラーが出やすい。

プラグインを入れるときは、エラーが出ないかよく注意すること。

****************************************************************************
パーマリンク設定するとエラーが出る場合、mod_rewiteを疑ってみること。
Options +FollowSymLinksを追記することで直ることあり。

カスタムフィールド&カテゴリ切り替えができそうなプラグインをメモメモ

http://blog.daichifive.com/archives/1496

EC-CUBE スマホサイトを使わない

EC-CUBEで自動生成されるスマホサイトを使わないで、PCサイトを表示させる方法。

http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=8085&forum=11

AblenetでEC-CUBEのパーミッション

AblenetにEC-CUBEをインストールで大ハマり。

AblenetのFAQの説明のままインストールするとアクセス可能なディレクトリに/data/を置くことになってしまうので、正しい場所にインストールしてみた。そうしたらFFFTPでアップロード後、ファイル群のパーミッションを全部変更する必要が。FAQではCGIツールでパーミッション変更をかけるように書いてあるが、インストールディレクトリが違うためか、このツールが動作しないw

膨大な数のパーミッション変更をどうしようか思い悩んだ末、FFFTPの環境設定からアップロードした際に同時にパーミッション設定することで解決しました。

MT管理画面カスタマイズのメモ

MT管理画面カスタマイズで調べたサイトをメモメモ。

 

 

MT:管理画面のカスタマイズ(alt-tmplの活用)
http://www.soh-web.net/movable-type/post-9.php

 

MT:管理画面のカスタマイズ(alt-tmplの活用)その2
http://www.soh-web.net/movable-type/mtalt-tmpl2.php

 

 

本文フィールドの表示オプションを有効にしたりドラッグできるようにする「BodyFieldCustomizerプラグイン」
http://www.koikikukan.com/archives/2011/05/06-025555.php
【有償版で商用利用は、ライセンス料が発生します】

 

 

MT5の管理画面カスタマイズはjQueryだけでいける?

http://www.cherrypieweb.com/weblog/technical/20110422002203.php

 

 

MTAppjQuery - Movable Type 5 の管理画面をjQueryでカスタマイズしやすくするプラグイン

MTプラグインのメモ

制作中の案件で使いたい候補をメモメモ

 

記事投稿画面でフィールドの並び替えを抑止する「SortFieldDisablerプラグイン」

http://www.koikikukan.com/archives/2012/04/05-000300.php

 

画像にheight属性を指定しないとレイアウト崩れの原因になる。

Masontyで高さ確定したのちに画像を読み込んだりすると高さが変わってしまうのが原因と思われ。

今回はMTのプラグイン「ResizeImage」で画像の大きさ変更を併用していたが、このプラグインを使用するときはwidthとheightを空で記述しておくと自動的にサイズを入れてくれるようだ。

WordPressのマルチブログ化

IE8で指定のフォントサイズになっていない

今回は、IE8だけにフォントファミリーを設定することで解決。

※IE9は問題なし
※IE6-7は未検証

ウェブフォントの落とし穴

ウェブフォントを使用したのに、自分のPCでは効いているのに他の端末では効かなかった。

原因は、フォントへのパス書き方のミスでした。

ローカルにそのフォントが入っていると、そちらを読んでしまい、自分のPCでは正しく表示されてしまうので、原因が分かりづらかったです。

EC-CUBEで代引き手数料を金額ごとに設定

EC-CUBEで、代引き手数料を金額ごとに設定するには、金額ごとに支払方法を設定するとよい。

http://www.tokihouse.com/ec-cube/tesu-ryou.html

ツイートボタン作成の詳細

文字列のエンコードできるサイト

リンクのパラメータとして日本語テキストなどが入る場合にエンコードを生成できるサイト。

http://www.tagindex.com/tool/url.html

twitterでハッシュタグをもとにサイトに表示するときのソース見本

 

 

 

 

 

<!--twitter --><script src="http://widgets.twimg.com/j/2/widget.js"></script><script> new TWTR.Widget({ version: 2, type: 'search', search: '#aaa OR #bbb OR #ccc', interval: 30000, title: 'hogehoge', subject: 'hogehoge', width: 300, height: 300, theme: { shell: { background: '#8ec1da', color: '#ffffff' }, tweets: { background: '#ffffff', color: '#444444', links: '#1985b5' } }, features: { scrollbar: true, loop: true, live: false, behavior: 'default' } }).render().start(); </script><!--/twitter -->

 

 

twitterにつぶやくためのリンクは「http://twitter.com/home?status=XXX」でXXXにデフォルトの文章を入れるだけ。

注意するのはハッシュタグを含める時。普通にシャープをつけただけでは解釈してくれないので、「#」のかわりに「%23」と記述すること。

IE9でMTの本文が入力できない

Windows7にしてからChromeばかり使ってIE9を使っていなかったので気がつきませんでした。IE9でMTの管理画面から更新しようとすると、本文が入力できないという不具合がでてきました。また、プルダウンメニューも動作しないという症状も出ています。

mt-config.cgiへ記述されているURLと違うURL(wwwの有無など)でアクセスした場合に本文が入力できないという症状はググるとたくさん出てきたのですが、これとは全く別の問題で、想像するにjavascriptの動作にエラーがありそう。

結局、IE9のF12キーで出てくる開発者メニューから「ドキュメントモード」をIE8以下にすることで回避できました。

ただ、実際問題、無理にIE9にこだわらずに、ChromeやFirefoxに乗り換えたほうが幸せになれるかもしれませんね。

formのボタン画像のソース コピペ用メモ

 

<input type="image" src="reset.gif" value="リセット" onclick="this.form.reset(); return false;" />


<input type="image" src="btn.gif" value=" submit " onclick="this.form.submit(); return false;" />

Select ジャンプ

<select onchange="location=this.options[this.selectedIndex].value"> <option selected="selected">▼ メニュー ▼</option> <option value="http://www.yahoo.co.jp/">Yahoo!</option> <option value="http://www.google.co.jp/">Google</option> </select>

WordPress 導入にあたってのメモ

MT一辺倒できたけれど、WPにもカスタムフィールドあるようなので、ボチボチ本格的に導入を検討中。

調べたページのメモです。

 

WordPress 入門

http://wordpress.imedia-web.net/

 

WordPress プラグイン一覧 (優先度順)

http://wordpress.imedia-web.net/plugins/list/

 

Ktai Style (携帯対応プラグイン)

http://wppluginsj.sourceforge.jp/ktai_style/

 

Custom Field Template | カスタムフィールドを使いやすくする

http://alphasis.info/2011/01/custom-field-template/

Firefoxのバグ?tableのborderが消える

position:relative; を指定することで解決。

jQuery Masonry (リキッドレイアウト)

石積みレイアウト・レンガ積レイアウト

【取説】
http://www.css-lecture.com/log/javascript/jquery-masonry.html

【ダウンロード元】
http://masonry.desandro.com/

※ウィンドウ幅を変えると、アニメーション的に要素を再配置してくれる。

 

・角丸は別jsで実装されてるらしい?

子要素にposition:relativeを指定した場合に、親要素で指定したoverflow:hiddenが効かなくなる。

なので、親要素にposition:rerative;を指定すればOK

識別子、文字列または数がありません

 

var options = $.extend(

{
slides: ".slides",
prevId:'prevBtn',
prevText:'Previous',
easing:null , // ここのカンマがエラー

}, options);

 

みたいな時に、最後の「null」の後ろにカンマが入ってるのがアウト。

どこがダメなのかというと、「最後のクセに区切りやがって馬鹿者め」的なエラーとなる。

いいねの数を集計する方法

まだ十分に原因が把握できてないが、とりあえず対処法見つかったのでメモ。

Photoshopで「保存」もしくは「別名で保存」で作成したjpegを投稿すると、容量が十分に圧縮されずに、携帯で表示させると「容量オーバー」となることがある。

対策は「Webおよびデバイス用に保存」でファイルを作成すること。

Photoshopで作成されたファイルは、色のデータももってると聞いたことがあるので、そのあたりが原因か??

 

【追記】

どうやらサムネール情報がダメらしい。
以下、クライアントへ送ったメールの写し
-----------------------------------------------------------------------------

 

やはり、画像ファイル内に含まれるメタ情報の問題です。
メタ情報の中でも、サムネールデータが原因です。

【対処方法】

Photoshopで画像を保存する際、「Webおよびデバイス用で保存」にて保存する。
※「保存」や「別名で保存」するとトラブルになる。

 

(予備情報として)

Photoshopの環境設定でサムネールを保存しない設定へ変更する、
他のツールにて作成するという選択肢もありますが、お客様の理解しやすさを考えると、上記方法が現実的と思います。

 

【参考URL】

http://oshiete.goo.ne.jp/qa/693418.html

http://smoky3.blog36.fc2.com/?mode=m&no=16

 

【添付ファイルについて】

1. BPExxx_お客様アップ画像.jpg(59.8K)
 : サーバーからDLしたファイル

2. BPExxx_プレビューを保存しない.jpg(31.9K)
  ※現在サーバ上にあるデータ
 : 環境設定を変更してサムネールを保存しないで作成

3. BPExxx_プレビューを必ず保存.jpg(51.7K)
 : デフォルトの設定で「別名で保存」で作成

4. mtkkimageBPExxxプレビュー保存しない.jpg(1.59K)
 : 上記2をケータイキットで圧縮したもの

5. mtkkimage_BPExxxプレビュー必ず保存.jpg(10.4K)
 : 上記3をケータイキットで圧縮したもの

ファイルサイズを比較してもらうと、サムネールデータを含まないファイルが
1.6Kまで圧縮できているのに対して、含むものは10Kにしかなっていない
のがわかるかと思います。

また、これをテキストエディタで開くと、詳細はわからないものの、
それらしき領域が含まれていて、実データよりもメタデータのほうが
大きくなってしまっているのが分かります。

よろしくお願いします。

いいねボタンの効用

Facebookのいいねボタン。SEOと同じようにアクセス増加の手段というだけではない。

訪問者がどのページで「いいね」と思ったかを知ることができるので、強化するべきページなど、サイトの方向性を検討する際の材料にできる。

************************
2013.02.07 追記

某クライアントが、「○○のページをアップしたら、3日くらいで80のいいねがついた。お客は見てくれてるね」とのこと。

Web初期の頃、アクセスカウンターが流行って完全に廃れたけれど、それに変わる部分も要素として捨てがたいかも。

◆Firefox版
http://creazy.net/2008/04/scroll_capture_softwares.html

Firefoxの拡張機能が便利そう。

 

◆Chrome版
http://web-marketing.zako.org/hacks/google-chrome/screen-capture.html

キャプチャだけじゃなく、線を引いたり赤枠をつけたりの加工もできる。かなりツカエそう!

 

【GetHTML】ウチで使ってるツール

http://www.vector.co.jp/soft/win95/net/se077066.html

階層まるごとDLしてくれるので、なかなか優秀。

ファッション系など、これまでFlashバリバリで作成されていたサイトでjqueryなどに置き換えたいという要望が増えている。この場合、デザイン優先になるために、既存のライブラリをそのまま流用することが難しいことが多い。

結果、複数のライブラリを流用して組み立てて、オリジナルのライブラリを作成することになるが、この際、IE6・7がかなりのネックになる。

お客様に迫るべき選択肢は3つ。

  1. 機能的な部分を重視するなら、「プログレッシブエンハンスメント」という考え方を理解してもらい、IE6・7についてはある程度あきらめてもらう。
  2. クロスブラウザでの見栄えを重視するなら、Flashでの制作にとどまってもらう。
  3. どうしても両立したいなら、十分な予算と製作期間を準備してもらう。(お客様にはボッタクリに見えるかも)

1番の場合でも、IE6/7でもそれなりの見栄えを保証するためには、モダンブラウザについても機能的に制限が出てくることを事前に説明する必要あり。

3番の場合、プログラマを最低一週間は拘束できるだけの予算とすれば、1ライブラリで20万以上? 現実的な金額ではないなぁw

 

Flashの場合、Flash Playerというベースに乗っかるのでどのブラウザでも挙動は同じ。、一方、jqueryなどのAjaxもいちおうはそれがベースになって各ブラウザでの挙動をある程度統一してくれることにはなっている。が、実際にはIE6などにはどうしても対応しきれていないのが現実。また見栄えの部分で結局はCSSでの調整なので、クロスブラウザ対策の手間はけっこう大きい。

これを踏まえて、Flashの延長線上でAjaxへ踏み込むと痛い目にあいますよと、、Ajaxなりの表現方法という意識をもってデザインや動作の仕様を詰めていきましょう、というのが吉。

まぐまぐ利用でメルマガ発行

まぐまぐに登録すれば無料で発行できる。ただし数行程度の「まぐまぐからのお知らせ」が挿入される。

月額料金2,520円を支払って有料登録すれば、「お知らせ」無しで発行できる。

ケータイキットをざっくり説明

MT+ケータイキットでサイト構築するには、フツーに携帯用のHTMLを書けるのが前提。もちろん、MTタグを思い通りにかけるのは必須。

3キャリア対応できるソースを書けて、でも、3キャリア対応するためにあきらめてた部分がケータイキットで分岐させて実現できるって考え方が吉か。

あとはぶっちゃけ、<keitaikit>タグで全体をくるんでしまえば、画像変換、絵文字の変換といった地味な部分をフォローしてくれる。(ページ分割など細かいノウハウは別途)

このシステム、10万円はぼったくりと思いつつ、それだけのメリットあって、3キャリア対応の工数が10万円分以上は確実に減る。

当然ですが、MTタグの書き方などをそれ用に対応した上での話。
  • [高度な設定]画像変換用のPHPスクリプトのパスとURLを変更が必須
  • さらに「複数のサーバ」を選択

ただし、ソースの中にテストサバのURLが晒される。

対策としては、テストサバにベーシック認証かけること。

もう一つ、URLをルートから書くのも一つ

 

なお、本番へのミラーリングテスト時には、画像のキャッシュに要注意。
※キャッシュが残っていると、エラーなのにエラーが出ないときがある。

MT4.28
ケータイキット1.60

IE6でposition:absoluteのバグ

http://doruby.kbmj.com/mai_on_rails/20090126/IE6_position_absolute_

http://jmblog.jp/misc/disappearance-of-an-absolute-positioned-box-in-win-ie/index.ja.html

空divを入れるのか。どうやらスマートじゃない解決法しかないらしい><

 

と、実装してみたら上手くいかないなw もうちょい調べる必要あり

http://jmblog.jp/archives/180

を読んで整理してみると、、、、空div入れる場所を間違えてました。消えてる要素の後ろに入れるのが正解。

IE向けのCSSハック

ケータイキットでの画像サイズ指定

<img src="xxx" width="80%">

みたいに画面サイズに対して%指定するのが良い感じ。

ケータイキットがそれに合わせて画像を作ってくれる。

HTMLでフランス語を入力

アーカイブ

ウェブページ

「紺屋の白袴」とはまさにこの事。見にくいしスマホ対応もまだしていません。そのうちやります。そのうちにね。

エフスタジオの中の人は株式会社メキメキに在籍しています。