カスタム投稿タイプの条件分岐

Filed under: wordpress — kdcs @ 2021年1月18日 月曜日

カスタム投稿タイプの条件分岐

シングルページ

<?php if (is_singular('post_type')): ?>

<?php endif; ?>

アーカイブページ

<?php if (is_post_type_archive('post_type')): ?>

<?php endif; ?>

例:staffblogというカスタム投稿タイプで固定ページがblogの場合

<?php if (is_page('blog')||is_post_type_archive('staffblog')||is_singular('staffblog')):?>

<?php endif; ?>

WordPress カスタム投稿タイプ専用のユーザー作成

Filed under: wordpress — kdcs @ 2021年1月16日 土曜日

投稿日:2020.7.27 更新日:2021.1.16(権限グループ名と権限名について追記・応用編修正)
カスタム投稿タイプの記事のみ扱えるユーザーを作る。
※プラグイン「User Role Editor」を使うことが前提条件

1. User Role Editorで権限グループを追加する
2. 権限を追加する(この権限名とfunction.phpに記述する権限名を合わせる)

function.phpにカスタム投稿タイプ用の権限を用意する
「authid」というidの権限グループと「ptauth」というカスタム投稿タイプ用の各権限を新たに追加し、管理者(administrator)にも追加するというもの。

    function my_custom_post_type() {
    register_post_type(
        'ptname',
        array(
            'label' => 'カスタム投稿タイプのスラッグ名',
            'public' => true,
            'capability_type' => 'ptauth',
            'has_archive' => true,
            'menu_position' => 5,
            'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'custom-fields' ,'comments' )
        )
    );
    $rm = new WP_Roles();
        $rm->add_role('authid', '権限名' );
    foreach( array( 'authid',  'administrator' ) as $rid ) {
        $role = $rm->get_role($rid);
        $role->add_cap('read');
        $role->add_cap('add_ptauth');
        $role->add_cap('add_ptauths');
        $role->add_cap('edit_ptauth');
        $role->add_cap('edit_ptauths');
        $role->add_cap('delete_ptauth');
        $role->add_cap('delete_ptauths');
        $role->add_cap('publish_ptauths');
    }
    $role->add_cap('delete_others_ptauths');
    $role->add_cap('edit_others_ptauths');
}
add_action( 'init', 'my_custom_post_type', 0 );

add_roleについてWordPress Codexの関数リファレンスより。
「wordPressに新しい権限グループを追加します」

<?php add_role( $role, $display_name, $capabilities ); ?>

$role = 権限グループ名 $display_name = 権限グループ表示名 $capabilities = 権限の配列

上記のコードでは「authid」が権限グループ名ということになり、「権限名」は権限グループ表示名になる

応用編に続く
(続きを読む…)

WordPress 特定のユーザー用管理画面メニューの表示・非表示

Filed under: wordpress — kdcs @ 2021年1月9日 土曜日

WordPressでカスタム投稿タイプを追加し、特定のユーザーだけしか操作させたくない場合に管理画面の関係ないメニューを非表示にする方法。
※下記はメニューから「投稿」を非表示にする場合
2021.2.5修正 3行目 非推奨 get_currentuserinfo()

function remove_menus(){
global $current_user;
wp_get_current_user();
if($current_user->user_login=="「ユーザー名」"){
//remove_menu_page( 'index.php' );                  //ダッシュボード
remove_menu_page( 'edit.php' );                   //投稿
//remove_menu_page( 'upload.php' );                 //メディア
//remove_menu_page( 'edit.php?post_type=page' );    //固定ページ
//remove_menu_page( 'edit-comments.php' );          //コメント
//remove_menu_page( 'themes.php' );                 //外観
//remove_menu_page( 'plugins.php' );                //プラグイン
//remove_menu_page( 'tools.php' );                  //ツール
//remove_menu_page( 'options-general.php' );        //設定
    }
}
add_action( 'admin_menu', 'remove_menus' );

1.「ユーザー名」を書き換える
2.非表示にしたいメニューの//を外す

※2021.2.5修正箇所
get_currentuserinfo() → wp_get_current_user()

WordPress ページurlの取得

Filed under: php,wordpress — kdcs @ 2020年11月20日 金曜日

通常の構成なら(ループ内で使用)

the_permalink()

カスタムタクソノミー

get_term_link($term,$taxonomy)

ループ外でhttps://~フルで取得

<?php echo (empty($_SERVER["HTTPS"]) ? "http://" : "https://") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; ?>

andoridスマホにGoogleFontを読み込ませる

Filed under: php,wordpress,スマートフォン関係 — kdcs @ 2020年11月5日 木曜日

条件分岐で「モバイルでiOS以外」とし、グーグルフォントを読み込ませる
下の例は、明朝体フォントを読み込ませる記述

<?php if( wp_is_mobile() && !is_iOS()): ?>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap">
<?php endif; ?>

サイト内検索

カテゴリー

最近の投稿

↑上に戻る