とりあえず持ってる WordPress 環境は対処済み。
]]>お気に入り追加リンクを表示する場所 | After post |
お気に入り追加リンクの前に表示するアイコン | No Image |
お気に入りに追加する時 | <i class=”fa fa-heart-o”></i>お気に入りに追加 |
お気に入り追加が完了した時 | Show remove link |
お気に入りから外す時 | <i class=”fa fa-heart”></i>お気に入り |
お気に入りから外れた時 | Show add link |
お気に入りリストをクリアする時 | 全てのお気に入り解除 |
お気に入りリストがクリアされた時 | <p>お気に入りを解除しました。</p> |
お気に入りリストが無い時 | お気に入りがありません。 |
削除リンクの | お気に入り解除 |
お気に入りリストがcookieを使って保存された時 | Cookie が無効です。 |
登録ユーザー以外がお気に入りリストを作成した時のエラーメッセージ | 登録ユーザのみお気に入り登録できます。 |
※ ちなみに、<i class=”fa fa-heart”></i> を使うには font-awesome を適用しておく必要がある。
お気に入り一覧は、固定ページを作って、そこに
<?php wpfp_list_favorite_posts(); ?>
と記述。
※ <?php ?> などを使うには、Exec-php プラグインとかを適用しておく必要あり。
そのままだと記事のタイトルがリストで一覧されるだけ。今回はアイキャッチ画像とパーマリンクのみ表示させたかったので
wp-content/plugins/wp-favorite-posts/wpfp-page-template.php を修正。query_posts($qry) までは変更なし。
先ず、ul、li を削って、タイトル文字列の部分にアイキャッチ画像を表示するように修正。お気に入り解除と全解除ボタンをコメントアウト。
query_posts($qry); // echo "<ul>"; while ( have_posts() ) : the_post(); /* echo "<li><a href='".get_permalink()."' title='". get_the_title() ."'>" . get_the_title() . "</a> "; wpfp_remove_favorite_link(get_the_ID()); echo "</li>"; */ // echo "<li>"; echo "<a href='".get_permalink()."' title='". get_the_title() ."'>" . get_the_post_thumbnail(get_the_ID(), 'thumbnail') . "</a> "; // wpfp_remove_favorite_link(get_the_ID()); // echo "</li>"; endwhile; // echo "</ul>"; echo '<div class="navigation">'; if(function_exists('wp_pagenavi')) { wp_pagenavi(); } else { ?> <div class="alignleft"><?php next_posts_link( __( '← Previous Entries', 'buddypress' ) ) ?></div> <div class="alignright"><?php previous_posts_link( __( 'Next Entries →', 'buddypress' ) ) ?></div> <?php } echo '</div>'; wp_reset_query(); } else { $wpfp_options = wpfp_get_options(); echo "<ul><li>"; echo $wpfp_options['favorites_empty']; echo "</li></ul>"; } // echo '<p>'.wpfp_clear_list_link().'</p>';
必要であれば、適宜コメントを表示するなりすれば良いと思う。
これは、ログインしていなければクッキーに、ログインしていればDBにお気に入りが保存される。
Want It/Have It が使える良いプラグインがあったら教えて。
Reaction Buttons プラグインとか使えそうだけど・・・
]]>一応、エラい人が承認できるレベルで半分ぐらい日本語訳した言語ファイルを置いておくので
/plugins/revisionary/languages にアップロードして使ってください。
revisionary-ja
/** * カスタム投稿タイプ一覧にカラム表示 */ function manage_posts_columns($columns) { $columns = [ 'title' => '店舗名', /* 表示する項目名 */ 'prefectures' => '都道府県', 'address' => '住所', ]; return $columns; } function add_column($column_name, $post_id) { if (in_array($column_name, ['title', 'prefectures', 'address', 'dispensary'])) { $stitle = get_post_meta($post_id, $column_name, true); } if (isset($stitle) && $stitle) { echo attribute_escape($stitle); } else { echo __('None'); /* 設定されていなければ何も表示しない */ } } add_filter('manage_shop_posts_columns', 'manage_posts_columns'); add_action('manage_shop_posts_custom_column', 'add_column', 10, 2);
add_filter, add_action の Hook の指定には manage_Postタイプ_posts_ … の様に指定する。
複数のPostタイプを使う場合は、Hook する関数名が重複しない様注意!
投稿にもメタ情報の入力欄が追加される。
とにかくいろんなところで入力できるようになる。
ASPサービスであるManageWPサイトにログインして管理画面から操作する。
Wordpress には ManageWP Worker プラグインをインストールする。
トライアルはあるが基本有料。また、管理情報をサイトに残すのはちょっと怖い。
有料
無料を信条にしているので却下するが、こんなのもあるという紹介。
サイトから InfiniteWP の管理画面をダウンロードして、PHP + MySQL 環境にインストールして使う。
Wordpress には InfiniteWP Client プラグインをインストールする。
有償のアドオンもあるが基本的部分はフリーで使える。
InfiniteWP 管理画面が英語のみ、ソースを見ても多言語化の対策などは見られなかった。
英語に堪能な人はお勧め。まあまあ使える。
MainWP Dashboard も MainWP Client も WordPress プラグインで構成される。
有償のアドオンもあるが基本機能はフリー。
多言語化されているが、日本語未対応。
プラグインなので、頑張れば日本語化できる。
今のところ一押し。
ある程度、表側で見える部分を大体翻訳した MainWP の日本語化ファイルを置くので、自由に使ってください。
(※ MainWP Child用ではないので注意!!)
mainwp-a.zip
解凍して出てきた mainwp-ja.mo を wp-content/plugins/mainwp/languages/ に上書きしてください。
追加で翻訳した人がいたらフィードバックお願いします。
]]>Custom Post Type UI 1.1.2 の日本語訳が中途半端だったので、日本語化しなおした。
一応、おもて側で見える部分は大体翻訳した Custom Post Type UI 1.1.2 の日本語化ファイルを置くので、自由に使ってください。
cpt-plugin-ja.zip
解凍して出てきた cpt-plugin-ja.mo を wp-content/plugins/custom-post-type-ui/languages/ に上書きしてください。
pot ファイルを作る。ソースから言語部分を抽出して pot ファイルを作り、それを基に翻訳用の po ファイルを作成する。
プラグインが最初から __() や __e() 関数を使って、多言語を想定して作られている必要がある。
pot ファイルから po ファイルを作ることができる。
追加で翻訳した人がいたらフィードバックお願いします。
そのためには先ず head で Webフォントの CSS を読み込んでおく必要がある。
CDNはここ
[code lang=”html”]
<link rel=”stylesheet” href=”//netdna.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css”>
[/code]
管理画面の [外観] → [テーマの編集] で style.css に以下の一文を追加すれば良い。
[code lang=”css”]
@import url(“//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css”);
[/code]
プラグインで導入する方法もある。こちらは、style.css を修正する必要なし。
Better Font Awesome プラグインとかがお勧め。これは使う font-awesome のバージョンが指定できる。ただし、挿入されるのはショートコードなので、MovableType 等に移行するとき問題になる。
WordPress Visual Icon Fonts プラグインも良さそうだが、これは font-awesome のバージョンが古い。
plugins\better-font-awesome\lib\better-font-awesome-library\js\admin.js の最後の方を以下の様に修正する。ショートコードではなく直接 i タグで挿入されるので、Wordpres 以外に移行する場合も問題なくなる。
// return '[icon name="' + icon + '" class="" unprefixed_class=""]'; return '';
FireFoxの最新ブラウザはクロスドメイン制約のため、CSS内部で参照している eot などのファイルが読み込めず、Webフォントが表示できない場合がある。