Posted on 2013/08/23 21:26:47 in: WordPress | Post Comment
制約のあるコンテンツを表示する前に、確認事項の同意をとっておきたい時などに使えるかもしません。
single.php の the_content() の部分を下記の具合に変更し、
if(has_tag("foo")) {
if(isset($_COOKIE["hogehoge"])) {
the_content();
} else {
※ 確認文言 ※
}
}
この確認文言の中のどこかに、下記のようなcookieをセットするJavaScriptを入れ、クリックを促します。
<a href="javascript:void(0);" onclick="document.cookie='hogehoge=1';location.reload();">確認事項に同意します</a>
きちんとcookieがセットされれば、the_content() が表示されるはず。
» サンプル
Posted on 2013/05/14 18:08:10 in: WordPress, 備忘録 | Post Comment
WordPressのフォーラムを潜ってたら下記のスレッドを見かけて、ちょっと試してみました。
ユーザー名「hogehogesan」が居たとして、
WordPressの固定ページでスラッグ名「hogehogesan」を作成。
http://example.com/hogehogesan/
page.php の get_header(); の前に、auth_redirect(); を入れて、強制的に認証させておき、
the_content() の所を下記のようにしておけば、上記固定ページはユーザー名「hogehogesan」のみ閲覧でき、他の人は「hogehogesanさん専用ページです」と表示されるというもの。
global $current_user; // ログインしているあなた
get_currentuserinfo(); // あなたの情報を取得
$uname = $current_user->user_login; // ユーザー名を取得
$slug = get_page($page_id)->post_name; // このページのスラッグを取得
if($uname==$slug){ // ユーザー名とスラッグが一緒ならcontentを表示する
the_content();
} else { // 違ったらエラー表示
echo $slug."さん専用ページです。";
}
パスワードは管理者が固定ページに設定するのではなく、ユーザーごとに管理してもらった方が、漏れた時に管理者の責任が多少は少なくなるという考えなので、こんな塩梅が良いのではと思った次第です。
Posted on 2012/08/06 17:48:22 in: WordPress, ネタ | Post Comment
旧聞ですが最近使ったネタをば。
日経やasahi.comみたいに、会員と非会員で表示を分ける方法。
普通は single.php に
<?php
if(is_user_logged_in()):
the_content();
else:
the_excerpt();
?>
<p>この記事は会員限定です。 ……………</p>
<?php endif; ?>
みたいにするわけですが、興味を引きつけたい記事なのに先頭から○○文字とかで自動的にぶった切られてしまいます。できれば <!-- more --> の位置まで見せたい。
そういう時は、単体記事ページでも more の動作を使うためのひと工夫を。
Function Reference/the content :: Overriding Archive/Single Page Behavior
http://codex.wordpress.org/Function_Reference/the_content#Overriding_Archive.2FSingle_Page_Behavior
<?php
if(is_user_logged_in()):
the_content();
else:
global $more;
$more = 0;
the_content('');
?>
<p>この記事の続きは会員限定です。 ……………</p>
<?php endif; ?>
みたいな内容を書けば、非会員の会員登録を誘引できそうな位置で、記事を一旦切ることが出来ると。便利便利。
Posted on 2012/03/12 12:27:34 in: WordPress, 備忘録 | WP Social Bookmarking Lightのはてブボタンを行動情報取得しないものに変更する はコメントを受け付けていません
WP Social Bookmarking Lightが3/11にアップデートされ、行動情報を取得しないものに更新されてました。
1.7.1
Updated: replaced script of hatena to no tracking version.
以下古い記事 orz
対象者
WP Social Bookmarking Lightを利用してソーシャルボタンを設置してる人
変更対象ファイル
設置ディレクトリ/wp-content/plugins/wp-social-bookmarking-light/modules/services.php
変更箇所
92行目
変更前:bookmark_button.js
変更後:bookmark_button_wo_al.js
簡単ヽ(´▽`)ノ
アップデートの際にはその都度確認を。
Posted on 2010/01/30 02:43:42 in: WordPress, 備忘録 | Post Comment
Tags: tips, WordPress
タイトル長い……
WordPressのテンプレタグ[wp_list_categories]で通常出力されるカテゴリ一覧のリンクは、
上記の通り。これを、
上記のような塩梅にしたい時のソースは下記。WordPressのテンプレをいじるには少々PHPを覚えにゃならんらしい。
<ul class="***">
<?php
$string = wp_list_categories('show_count=1&title_li=&echo=0');
echo preg_replace('/<\/a> (\([0-9]*\))/', ' $1</a>', $string);
?>
</ul>
Posted on 2007/07/01 02:13:37 in: WordPress, 備忘録 | Post Comment
Tags: WordPress, モブログ, 脆弱性
使用者にとっては激しく既出なはずの留意事項を、私が忘れないように書き留めおくことに。
テーマの件
- 元となるテーマは、公式のTheme ViewerからBasic 1.0を選んだ。およそ必要なタグが使われていて、スタイルシートは真っ白という非常にありがたいテンプレート。これをもとにソースの細かい部分とスタイルシートを編集。
- Basic 1.0を含め、いくつかのテーマにXSS脆弱性があるので、それを予め解消しておく事。
- カレンダー表示を加えると、記事のアップ間隔の長さがバレるので、ものぐさにはお薦めできない(ぉ
- PHP系のアクセス解析を埋め込む際はindex.phpの中にincludeする。テーマファイルには書かない。
- 画像表示のアクセスカウンタはテーマファイルの中に。その際、カウンタ自体のファイル置き場設定などはフルパスが好ましい。
モブログの件
- WordPress自体のメール投稿機能だと携帯電話からのメール処理に難があるので、SOMY.JPで配布している「SOMY Mobile Gate」を使用することで解決。
- ただ、WordPressの置き場とindex.phpの設置場所が異なる場合は、mobile-gate/modules/wp-mail.php の399行目、401行目、431行目を適宜いじる必要あり。
- メール送信後自動的に記事作成するには、cronとかで一定間隔の処理を予約しておく。単にMobile Gateを読み込むだけなので、wgetが良し。