カスタム投稿タイプのパンくず

Filed under: php,wordpress — kdcs @ 2021年5月6日 木曜日

カスタム投稿タイプのカテゴリーと年月アーカイブにパンくずリストを付ける

例:パーマリンクがblog

<?php /* パンクズリストここから----------------------------------------------------------- */ ?>
<div id="breadcrumb" class="bread">
<ol>
<li><a href="<?php echo home_url(); ?>/blob">カスタム投稿タイプのブログ</a></li>
<li>
  <?php
    if(is_category() || is_tag() ) {
      if( $cat ) {
	  $catdata = get_category( $cat );
	if( $catdata->parent ) {
	  echo get_category_parents( $catdata->parent, true, '</li><li>' );
    }
  }
      echo '<a>',single_term_title(),'</a>';
  } elseif(is_year()) {
      echo '<a>',get_query_var('year'),'年</a>';
  } elseif(is_month()) {
    $year = get_query_var('year');
      echo '<a href="',get_year_link( $year ),'">',$year,'年</a></li>';
      echo '<li><a>',get_query_var('monthnum'),'月</a>';
  } elseif(is_day()) {
    $year = get_query_var('year');
    $month = get_query_var('monthnum');
      echo '<a href="',get_year_link( $year ),'">',$year,'年</a></li>';
      echo '<li><a href="',get_month_link( $year,$month ),'">',$month,'月</a></li>';
      echo '<li><a>',get_query_var('day'),'日</a>';
  }
?>
</li>
</ol>
</div><!--/#breadcrumb.bread-->
<?php /* パンクズリストここまで----------------------------------------------------------- */ ?>

上記の記述だとカスタム投稿タイプのカテゴリーページでは出力されないので
以下をtaxonomy-xxxx_category.phpに記述

<?php /* パンクズリストここから----------------------------------------------------------- */ ?>
<div id="breadcrumb" class="bread">
<ol>
<li><a href="<?php echo home_url(); ?>/blob">スタッフブログ</a></li>
<li><?php echo single_term_title(); ?></li>
</ol>
</div><!--/#breadcrumb.bread-->
<?php /* パンクズリストここまで----------------------------------------------------------- */ ?>

Windows10でバッテリーレポートを出力する

Filed under: windows — kdcs @ 2021年5月5日 水曜日

◆コマンドプロンプトを管理者権限で実行する

プログラムメニューからWindowsシステムツール>コマンドプロンプトを右クリック→その他→管理者として実行

powercfg /batteryreport /output "C:\battery_report.html"

これでCドライブに「battery_report.html」ファイルが保存される

WordPress カスタム投稿タイプ固定ページのテンプレートにページネーションを付ける

Filed under: wordpress — kdcs @ 2021年2月5日 金曜日

ブログなどの投稿をカスタム投稿タイプで行い、ブログページを固定ページにした場合にページネーション(ページ送り)が必要になる。

例:ブログ投稿用カスタム投稿タイプ「staffblog」を作り、page-blog.phpというテンプレートを作成
 ※ページ送りにプラグイン「WP-PageNavi」を使う

<?php
$wp_query_blog = new WP_Query( array(
  'post_status' => 'publish',
  'post_type' => 'staffblog',
  'paged' => $paged,
  'posta_per_page' => 5,
  'orderby' => 'date',
  'order' => 'DESC'
)); 
?>
<?php  if($wp_query_blog->have_posts()) : while($wp_query_blog->have_posts()) : $wp_query_blog->the_post(); ?>

[ブログの内容]

<?php endwhile; else: //記事が無い場合 ?>
<div class="textCenter under20"><< ブログ準備中です >></div>
<?php endif; wp_reset_postdata(); //クエリのリセット ?>

WP-PageNaviでページ送りを表示させる位置に以下を記述

<?php if(function_exists('wp_pagenavi')) wp_pagenavi(array('query' => $wp_query_blog));?>

※queryは$wp_query_blogで合わせる

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

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」が権限グループ名ということになり、「権限名」は権限グループ表示名になる

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

サイト内検索

カテゴリー

最近の投稿

↑上に戻る