WordPress Lab

複数のカテゴリーに属している記事の特定の親の子カテゴリー名を表示する

2017年4月17日 月曜日

複数のカテゴリーに属している記事の特定の親の子カテゴリー名を表示する
※ ただし1つの親に対して1つの子であること

<?php
$categorys = get_the_category( $post_id ); 
foreach($categorys as $category){
if($category->parent==特定の親カテゴリーID):
echo $category->name;
endif;
}; 
?>

投稿者ユーザー登録時にユーザー名をスラッグでカテゴリーをつくる

2017年4月7日 金曜日

(条件)
ユーザー名をカテゴリースラッグにする。
カテゴリー名は、ユーザー登録時の「名」。
functions.php

function create_category( $user_id ) {
    $user_info = get_userdata($user_id);
    $user_name = $user_info->user_login;

    $my_cat = array(
        'cat_name' => $user_info->first_name,
        'category_nicename' => $user_name,
        'category_parent' => ''
    );
     wp_insert_category( $my_cat );
    
    $cat_id = get_cat_ID( $user_id );
    wp_set_post_categories( $post->ID, array( $cat_id ), true );

}
add_action('user_register', 'create_category' );

ユーザー登録と同時にユーザー名のカテゴリーが生成されますが、ログインユーザーがそのカテゴリーでしか投稿できないというような仕組みはAuthor Category等のプラグインで関連付けしてください。

WordPressの更新を反映させたい静的htmlのほうが別階層にあるとき、どうするの?

2016年8月10日 水曜日

実際、クライアントさまの要望は個々にさまざま十人十色なので、WordPressが全盛だからといって、とくにトップページやカテゴリーのインデックス、固定ページは内容、デザイン、構成が複雑になるので、テンプレートとしてこさえるより、静的htmlでガッシリつくるほうがFTPも使える制作者サイドにすれば作りやすいし、メンテもしやすい。

でも、新着記事やらアイキャッチやら、WordPressの固有の機能をそれらに求められることは免れない。

<?php require(‘./wp-blog-header.php’); ?> やら

<?php require(‘./wp-blog-header.php’); ?> を静的htmlの最初の行に書いて、

.htaccessで、html上でphpが使える環境に整えればよいという情報が多いが、これはドメイン直下などのトップページでしか使えない。

おしえていただいたところによると、推奨されるのは以下の形式で

<?php require_once( dirname( __FILE__ ) . '/wp-load.php' ); ?>

カテゴリーインデックスなど、静的htmlがWordPressと異なる階層にある場合は

<?php require_once( dirname(dirname( __FILE__ )) . '/wp-load.php' ); ?>

など、階層数により

dirname(dirname(dirname( __FILE__ ))) と、dirnameを重ねて調整すればよいらしい。

(参考) wordpress関数を外から使うにはwp_load.phpを読み込む | hellooooworld.com

外注のカスタム投稿タイプのパーマリンク設定

2016年8月4日 木曜日

外注のカスタム投稿タイプの「カテゴリー名」を変えたら”自動転送ループ”になってしまって、どうしたらよいかたずねたら「パーマリンク設定が post_id になってるか?」というのです。

本体のパーマリンク設定は post_id になっているけれど、カスタム投稿タイプの記事はpostnameのようだが、どこで変えるのや?と思ったら、

そういうことを可能にするプラグインがあるんですね。

Custom Post Type Permalinks

正常化したけれど、そもそもなんで今まで何の支障もなかったのやろ・・・?

クライアントの運用に支障なく、ほそぼそと陰でWordPressサイトでスマホ用などの新テーマを準備する方法

2016年7月13日 水曜日

PC閲覧のWordPressサイトを運用中のクライアント様に「スマホ対応」テーマを新たに用意する、
今の御時世、そういう案件少なくないですよね。

ローカルなどで開発環境つくって準備すればいいといえば、そうなんですけど、
本番環境で「WP Theme Test」というプラグインをつかって、ログイン時にオモテのページを見れば新テーマが適用されるという、便利な方法があります。

WP Theme Test

でも、ログイン時にオモテのページが新テーマになったら「管理者」の権限をもっているクライアント様の場合、
更新時に、反映を確認するのは他のブラウザと併用してね、とか、お手間をとらせることになる。

そこで、クライアント様の運用に支障なく、ほそぼそと陰でWordPressサイトでスマホ用などの新テーマを準備するには、プラグイン「User Role Editor」をつかって、「開発者」の権限グループをつくって、
「開発者」のログインに対してだけ新テーマが適用されるようにすればよいのです。
構築は、「開発者」でログインして行い、クライアント様に進捗を確認いただくのも「開発者」でログインしてもらえばいいのです。

User Role Editor

1. ユーザー > User Pole Editorで、「Add Role(ユーザー権限の追加)」をして、一覧のチェックボックスに全部チェックを入れて、
「管理者」と同等の新しい権限を作成します。(ここでは「エンジニア」にしました。) 2. ユーザーを新規追加して、「エンジニア」の権限を付与します。 3. 外観 > WP Theme Testで、「テストテーマ」で開発する新テーマを選択し、「表示する権限グループ」で「エンジニア」を選んで、「現在の状態」をOnにして、完了です。

これで、クライアント様の運用に気兼ねなく、新テーマの開発が可能です。

 

me
ページトップへ