タグ: wordpress

Facebook

Facebook直々に作成されたプラグイン。
とにかく、設置がえらい面倒。

Facebookデベロッパにユーザー登録しなきゃいけない。
自分のような人種が登録するのは仕方がないとして、クライアントさんのアカウントでデベロッパ登録しなきゃいけないのはいかがなものかと。
さらにユーザー情報が足りないと称して携帯のアドレスかクレジットカード番号を要求w
出会い系サイトにクレジットカード登録する勇気はない。

日本語の説明不十分すぎる。
デベロッパページの中なので仕方ないとは思うけど、新しいアプリを作成以降はほぼ英語w
こんなページにクライアントのアカウントで来させるんじゃねーよw

さらに意味不明な機械翻訳の日本語。
キャンバスページとキャンバスURLって、この文言だけ見て何を指しているのか説明できる人間はいないよ。
そしてカーソル合わせて出てくるのは英語のヘルプw

ここまでやらせて出来ることはwordpressの投稿・固定ページ・コメントをFacebook側のアクティビティログに表示できる。
あれ?これだけ?
Facebookのタイムライン投稿をwordpressに自動投稿とかないの?

WordPress Social Ring

WordPress Social Ringで、Twitterの「ツィート」ボタンやFacebookの「いいね」ボタンをお手軽に設置することができる。
対応しているのはTwitter、Facebook、Google+、LinkedIn、Pin It、StumbleUponあたり。
iFrameで持ってきているようで、ボタンのデザインとかそのあたりは変更できない。
とりあえずソーシャル系のリンクを設置しておきたいというときのために。

何事も自分の気に入るようにやるには自分で作るのが一番いいということで。

ちなみにこれは「だから私を見て!フォローして!」ボタンではない。
プラグインはそっちのほうがたくさんあるね。

bloginfo で取得できるもの

英語のページに全部の例示があるのでマネッコしてみる。
書き方は
bloginfo(‘name’);
こんな。

name                 : katz+
description          : 
admin_email          : ********@gmail.com

url                  : https://katzplus.com
wpurl                : https://katzplus.com

stylesheet_directory : https://katzplus.com/wp-content/themes/nikkon
stylesheet_url       : https://katzplus.com/wp-content/themes/nikkon/style.css
template_directory   : https://katzplus.com/wp-content/themes/nikkon
template_url         : https://katzplus.com/wp-content/themes/nikkon

atom_url             : https://katzplus.com/feed/atom/
rss2_url             : https://katzplus.com/feed/
rss_url              : https://katzplus.com/feed/rss/
pingback_url         : https://katzplus.com/xmlrpc.php
rdf_url              : https://katzplus.com/feed/rdf/

comments_atom_url    : https://katzplus.com/comments/feed/atom/
comments_rss2_url    : https://katzplus.com/comments/feed/

charset              : UTF-8
html_type            : text/html
language             : ja
text_direction       : ltr
version              : 5.7.12

PHP Exec

記事中に書かれたPHPスクリプトを実行できるようにします。
wordpress.comには無いので Priyadi’s Place からダウンロードします。

あとはHTML表示で

<phpcode>
<?php
echo "Now : ".date("Y/m/d H:i:s");
?>
</phpcode>

という具合に<phpcode></phpcode>で囲んでコードを書き込めばOK。

Now : 2024/10/08 02:54:40
↑こんなカンジ。

注意点としてはプラグインのせいじゃないけど、
編集画面のビジュアル表示とHTML表示を行き来すると、PHPコードがコメントアウト変換されたりするのでコード付きの記事を編集する時はHTML表示一択で。

F2 Tag Cloud Widget

F2 Tag Cloud Widgetで、Widgetに表示しているフォントの大きさや数、表示形式をカスタマイズできます。

機能豊富だなぁと思っていたのですが、タグが付けられているコンテンツ数をカウントすることが出来なかった。
同じことが全て可能で、かつコンテンツ数のカウントを付けられるBetter Tag Cloudを採用することに。

disabled plugin

今は使っていないプラグインはこちら。

Flexible Accordion

とりあえず2つ目を作ってみました。
今は単なるトグルスイッチの集まりだけど、お互いをリレーションさせることでアコーディオンっぽくもできる。
そんなようなプラグインを目指してます。

ダウンロード

flexible-accordion-0.2.zip

インストール

解凍してpluginsディレクトリにコピーしてください。

使用方法

トグルのスイッチになるテキストを[ fa_title ]で、開閉したい部分を[ fa_content ]で囲んでください。
複数設置することができますが、[ fa_title ] と [ fa_content ] を関連付けるためにそれぞれに同じ[ name ]をつけてください。
[ name ]を省略すると上から順番に対応づけようとします。
すべてのアコーディオンを開閉するスイッチが欲しい場合は[ fa_switch ]を設置してください。

使用例

  • アコーディオン本体
    • パターン1
      一つのタイトルとテキストをトグルしてみる。
      [ fa_title name=hoe ] hoehoe [ /fa_title ]
      [ fa_content name=hoe ] hoehoe の 中身だよ [ /fa_content ]

      hoehoe
    • パターン2
      デフォルトでテキスト部分を開示しておく
      [ fa_title name=hoe2 ] hoehoe [ /fa_title ]
      [ fa_content name=hoe2 status=open ] hoehoe の 中身だよ [ /fa_content ]

      hoehoe2
      hoehoe2 の 中身だよ
    • パターン3
      タイトル部分とテキスト部分の間に別のコンテンツを入れる
      [ fa_title name=hoe3 ] hoehoe3 [ /fa_title ]
      タイトルとテキストの間に別の文言が入っていても動作します。
      [ fa_content name=hoe3 status=open ] hoehoe3 の 中身だよ [ /fa_content ]

      hoehoe3
      タイトルとテキストの間に別の文言が入っていても動作します。
      hoehoe3 の 中身だよ
  • すべてのアコーディオンをトグルするスイッチ
    [ fa_switch ]

    ALL OPEN

更新履歴

  • 0.2(2012/09/11)
    • すべてのアコーディオンを開閉させるスイッチを追加
  • 0.1(2012/09/07) flexible-accordion-0.1.zip
    • とりあえず作成

ToDo

  • 管理画面の作成
  • CSSを改変できるようにする
  • それぞれのトグルを連携させて「どれか一つだけ開いている状態」を可能にする
  • _eで出力しているところとベタで記入しているところがごっちゃになっているので統一する
  • 併せて日本語ファイルを作成する
  • 脆弱性対応

Better Related Posts で非公開ページが検索される問題

結構気に入っているBetter Related Postsですが、非ログイン状態にもかかわらず、非公開ページを関連ページとしてリストアップしてしまうので、これを修正。

具体的には「better-related → inc → scorer.php」を2箇所書き換えます。

300行目

		WHERE ( post_status='publish' OR post_status = 'private' )

		WHERE post_status='publish'

に。

463行目

		AND ({$prefix}posts.post_status = 'publish' OR {$prefix}posts.post_status = 'private')

		AND {$prefix}posts.post_status = 'publish'

に。

post_statusでの条件を「publishとprivate」の2種類から「publish」のみに変更する、ということ。
すでに稼働している状態でこの変更を行った場合、すでに非公開ページに対するスコア生成が行われてしまっているので、設定ページの下の方にある「Data storage ID」の文字列を変更します。
デフォルト状態では「better-related-」となっているのでこれを「better-related」辺りに修正。
これで非公開ページを含まない状態でスコア生成が再度行われることになります。

ただ、関連ページスコアを事前に生成しているので、一度公開したページを非公開にした時にはこの方法では役に立たないかもしれない。時間があるときにもう少しソースを眺めてみる。

Accordion Shortcode

Accordion Shortcode というプラグイン。
[ accordions ]
[ accordion title=”title1″ ] tab content [ /accordion ]
[ accordion title=”title2″ ] another content tab [ /accordion ]
[ /accordions ]
こんなカンジで簡単にかけていいなぁと思っていたんだけど、思ったより汎用性が低かった。

Expiration Notice

とりあえず作ってみました。
「掲載期間が過ぎたものを下書きに戻す(見えなくする)」
ではなく
「掲載期間が過ぎたものは、情報が古くなっている旨の警告を出す」
プラグインです。

ダウンロード

expiration-notice.0.3.1.zip

インストール

解凍してpluginsディレクトリにコピーしてください。

使用方法

有効期限を表示したい場所に[ exp_notice ]のショートコードを書き込んでください。

設定画面

管理画面の「設定」 → 「Expiration Notice」で設定画面を開くことができます。
デフォルトの有効期限や表示するときの文言、CSSのカスタマイズができます。

使用例

  • 引数を指定しない場合
    管理画面で指定したデフォルトの期限内まで有効になります。

    • ↓ [ exp_notice ]
      このページの有効掲載期限は 2013/04/29 11:33:46 までです。
      記載されていることの正確性を確認ねがいます。
  • 引数を相対値で指定した場合
    [y, m, d, h, i, s]の各値を指定することで更新日時からの相対日時を有効期限として設定することができます。

    • ↓10年後まで有効 [ exp_notice y=10 ]
      このページの有効掲載期限は 2023/02/28 11:33:46 までです。
      記載されていることの正確性を確認ねがいます。
    • ↓10秒後まで有効 [ exp_notice s=10 ]
      このページの有効掲載期限は 2013/02/28 11:33:56 までです。
      記載されていることの正確性を確認ねがいます。
    • ↓1年1ヶ月1日 1時間1分1秒後まで有効 [ exp_notice y=1 m=1 d=1 h=1 i=1 s=1 ]
      このページの有効掲載期限は 2014/03/29 12:34:47 までです。
      記載されていることの正確性を確認ねがいます。
  • 引数を絶対日時で指定した場合
    [limit]に日時を指定することで絶対日時を有効期限として設定することができます。

    ※ 0 ~ 9 までの数字と「/(スラッシュ)」「-(マイナス)」「:(コロン)」「_(アンダーバー)」「 (スペース)」のみ使用することができます。全角文字は使用できません。
    ※「年」は4桁、「月日時分秒」は2桁で記述しなくてはなりません。
    ※日付と時刻の間にスペースを含んでいる場合、ダブルコーテーションかコーテーションで囲む必要があります。
    ※日付指定を省略した場合、自動的に更新日当日が割り当てられます。
    ※時刻指定を省略した場合、自動的に 23:59:59 が割り当てられます。
    ※以下のように記述することもできます。
    “2020-12-31 23:59:59” … 日付の区切りをスラッシュではなくハイフンで記述する
    2020-12-31_23:59:59 … 日付と時刻の区切りをスペースではなくアンダーバーで記述する
    20201231_235959 … 日付と時刻の区切りのみをアンダーバーで記述する
    20201231235959 … 日付、時刻に区切りをつけず記述する
    2022/01/01 … 日付のみを記述する
    20220101 … 日付のみを区切りをつけず記述する
    23:59:59 … 時刻のみを記述する
    235959 … 時刻のみを区切りをつけず記述する
    • ↓2020/12/31 23:59:59 まで有効 [ exp_notice limit=”2020/12/31 23:59:59″ ]
      このページの有効掲載期限は 2020/12/31 23:59:59 までです。
      記載されていることの正確性を確認ねがいます。
    • ↓2022/01/01 23:59:59 まで有効 [ exp_notice limit=2022/01/01 ] [ exp_notice limit=20220101 ]
      このページの有効掲載期限は 2022/01/01 23:59:59 までです。
      記載されていることの正確性を確認ねがいます。
    • ↓更新日当日の 23:59:59 まで有効 [ exp_notice limit=23:59:59 ] [ exp_notice limit=235959 ]
      このページは 2024/10/08 23:59:59 まで有効です。

更新履歴

ToDo

  • いつから有効、という指示もしたい。引数が2つになる点は了承済み
  • _eで出力しているところとベタで記入しているところがごっちゃになっているので統一する
  • 併せて日本語ファイルを作成する
  • 置き換えパターンのフォーマットを設定できるようにする(現状は固定フォーマット)
  • 脆弱性対応