WordPress Lab
外注のカスタム投稿タイプのパーマリンク設定
2016年8月4日 木曜日外注のカスタム投稿タイプの「カテゴリー名」を変えたら”自動転送ループ”になってしまって、どうしたらよいかたずねたら「パーマリンク設定が post_id になってるか?」というのです。
本体のパーマリンク設定は post_id になっているけれど、カスタム投稿タイプの記事はpostnameのようだが、どこで変えるのや?と思ったら、
そういうことを可能にするプラグインがあるんですね。
正常化したけれど、そもそもなんで今まで何の支障もなかったのやろ・・・?
クライアントの運用に支障なく、ほそぼそと陰でWordPressサイトでスマホ用などの新テーマを準備する方法
2016年7月13日 水曜日PC閲覧のWordPressサイトを運用中のクライアント様に「スマホ対応」テーマを新たに用意する、
今の御時世、そういう案件少なくないですよね。
ローカルなどで開発環境つくって準備すればいいといえば、そうなんですけど、
本番環境で「WP Theme Test」というプラグインをつかって、ログイン時にオモテのページを見れば新テーマが適用されるという、便利な方法があります。
でも、ログイン時にオモテのページが新テーマになったら「管理者」の権限をもっているクライアント様の場合、
更新時に、反映を確認するのは他のブラウザと併用してね、とか、お手間をとらせることになる。
そこで、クライアント様の運用に支障なく、ほそぼそと陰でWordPressサイトでスマホ用などの新テーマを準備するには、プラグイン「User Role Editor」をつかって、「開発者」の権限グループをつくって、
「開発者」のログインに対してだけ新テーマが適用されるようにすればよいのです。
構築は、「開発者」でログインして行い、クライアント様に進捗を確認いただくのも「開発者」でログインしてもらえばいいのです。
1. ユーザー > User Pole Editorで、「Add Role(ユーザー権限の追加)」をして、一覧のチェックボックスに全部チェックを入れて、
「管理者」と同等の新しい権限を作成します。(ここでは「エンジニア」にしました。) 2. ユーザーを新規追加して、「エンジニア」の権限を付与します。 3. 外観 > WP Theme Testで、「テストテーマ」で開発する新テーマを選択し、「表示する権限グループ」で「エンジニア」を選んで、「現在の状態」をOnにして、完了です。
これで、クライアント様の運用に気兼ねなく、新テーマの開発が可能です。
「テキストモード」で貼り付けたHTMLのdivタグのidが喪失する怪。
2016年4月1日 金曜日WordPressで「テキストモード」で貼り付けたHTMLのdivタグのidが「ビジュアルモード」に切り替えて保存し、「テキストモード」に戻すと喪失する現象が起きて悩む。
どの案件のWordPressもそうなのかテストしてみたが、そういうわけではないようだ。
色々情報を読んでみると、たとえば放置されていたWordPressを一足飛びに最新のバージョンにアップデートしたりすると、見た目には同じ最新バージョンのWordPressでも、これまでにアップデートで随時修正されているべき内容が欠落しているおそれがあるのだそうだ。
今回のdivのidが喪失するのも、この中に入っているようだ。
その対策としてfunctions.phpにいろんな方が書かれたコードを、自分も同じように試してみたが、問題は解消しなかった。
ちなみにclassは大丈夫のようである。
アンカーリンクでどうしてもidの設定がいる場合はhタグなどに付すなどの代替策が必要である。
ようするに、WordPressのアップデートはサボらないようにこまめにやるべきってことです。
Advanced Custum Fieldsで日付は「デイトピッカー」時刻は「Date and Time Picker(プラグインを追加)」を使った時の出力
2015年11月16日 月曜日Advanced Custum Fieldsで日付は「デイトピッカー」時刻は「Date and Time Picker(プラグインを追加)」を使った時の出力
” XXXX年XX月XX日 XX:XX ~ XX:XX ” 時刻は24時間制で表示する場合。
■管理画面
「Time Format」はHH:mmに記載変更
■テンプレート
<?php $week = array("日", "月", "火", "水", "木", "金", "土"); ?> <?php $date = date_create(''.get_field('held_date').''); echo date_format($date,'Y年m月d日') . "(" . $week[(int)date_format($date,'w')] . ")" ; ?> <?php $time = date_create(''.get_field('event_open').''); echo date_format($time,'H:i'); ?> ~ <?php $time = date_create(''.get_field('event_close').''); echo date_format($time,'H:i'); ?>
category.phpにそのカテゴリーの全投稿だけを表示したいとき【改訂】
2015年10月9日 金曜日category.php(カテゴリーのインデックス)にそのカテゴリーの全投稿を表示したくて、
ネットによくある以下のTips
- <?php if ( have_posts() ) : query_posts(‘posts_per_page=-1’); ?>
- <?php if ( have_posts() ) : query_posts($query_string.’&posts_per_page=-1′); ?>
どっちを書いても、カテゴリーを無視して全部表示されてしまいます。(ムカ~!!)
以下のように書くと希望通りにそのカテゴリーの投稿を全件表示してくれました。
普通は 2 のほうで書けば上手くまわるはずなのですが、その前で別の処理をしていると上手くいかない場合があるので、同じ経験をされている方はお試しください。
毎度ネットに頼って失敗ばっかりするので、自分の備忘録として。
<?php $category = get_category($cat); $cat_id = $category->cat_ID ; $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'posts_per_page' => -1, 'cat' => $cat_id, 'paged' => $paged ); query_posts($args); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> ・ ・ ・ <?php endwhile; ?> <?php endif; wp_reset_query(); ?>
※ 2015/12/10 改訂