WordPress 人気記事ランキングをプラグイン無しで表示させる

Filed under: css,functions.php,wordpress — kdcs @ 2020年1月31日 金曜日

人気記事をランキング表示させるプラグイン「WordPress Popular Posts」もあるが、プラグインに頼らずに行う方法。

・カスタムフィールドにアクセスカウントを格納する
・カウントはセッション毎に行う
・wp_headをフックに使用

※画像表示について
アイキャッチ画像がある場合はアイキャッチ画像を表示。
アイキャッチ画像が無い場合は記事内の最初の画像を表示。
アイキャッチ画像も記事内の画像も無い場合はデフォルト画像を表示させる。
(続きを読む…)

WordPress カスタム投稿タイプ使用時のパンくずリスト

Filed under: wordpress — kdcs @ 2020年1月28日 火曜日

single.phpなどにカスタム投稿タイプ使用時のパンくずリストを表示させる

single.php

<div id="breadcrumb" class="clearfix">
<a href="<?php echo bloginfo('url'); ?>">トップページ</a> > 
<a href="<?php echo get_post_type_archive_link($post_type); ?>"><?php echo esc_html(get_post_type_object(get_post_type())->labels->singular_name ); ?></a> > 
<?php foreach ( array_reverse(get_post_ancestors($post->ID)) as $parentid ) { ?>
<a href="<?php echo bloginfo('url'); ?>?p=<?php echo $parentid;?>"><?php echo get_page($parentid)->post_title; ?></a> > 
<?php }  the_title(''); ?>
</div

archive.php

<div id="breadcrumb" class="clearfix">
<a href="<?php echo bloginfo('url'); ?>">トップページ</a> > 
<a href="<?php echo get_post_type_archive_link($post_type); ?>"><?php echo esc_html(get_post_type_object(get_post_type())->labels->singular_name ); ?></a>
</div>

WordPress ユーザーレベル(非推奨)は権限グループへ

Filed under: wordpress — kdcs @ 2020年1月25日 土曜日

ユーザーレベルは最終的に、バージョン3.0で非推奨となっているもののユーザーレベルシステムを使用するプラグイン(非推奨ですが)との後方互換性のために機能している。

ユーザーレベル「0」は購読者に変換
ユーザーレベル「1」は寄稿者に変換
ユーザーレベル「2」は投稿者に変換
ユーザーレベル「3、4、5、6、7」は編集者に変換
ユーザーレベル「8、9、10」は管理者に変換

ということで、管理者以外で使用しないメニューを非表示にするためfunction.phpに記述していた内容を変更

変更前

    // level10以外のユーザーの場合
    if (!current_user_can('level_10')) {

変更後

    // 管理者以外のユーザーの場合
    if (!current_user_can('administrator')) {

contact form 7で郵便番号から住所を自動入力させる

Filed under: contactform7 — kdcs @ 2020年1月20日 月曜日

Contact Form 7の入力フォームで郵便番号から住所を自動入力させる方法

function.phpに記述する方法は「wp_enqueue_script」がエラーになるので
header.phpのhead内に記述

<script src="https://yubinbango.github.io/yubinbango/yubinbango.js" charset="UTF-8"></script>

コンタクトフォームを固定ページに貼り付けるコードに「html_class=”h-adr”」を付ける
※ idの数字はその時々で違うのでセッティング時にコピペする

[contact-form-7 id="xxxx" title="お問い合わせフォーム" html_class="h-adr"]

コンタクトフォームの入力フォーム例

<label> 郵便番号
    [text your-zip-code class:p-postal-code] 例)107-0052</label>
<label> ご住所(都道府県・市区町村)
    [text your-address class:p-region class:p-locality class:p-street-address] </label>
<label> 番地・建物名など
    [text your-address2 class:p-extended-address] </label>

郵便番号を3桁と4桁に分ける場合

〒[text your-zip-code class:p-postal-code maxlength:3] - [text your-zip-code2 class:p-postal-code maxlength:4]

PHP7.2で「create_function」が非推奨になる

Filed under: functions.php — kdcs @ 2020年1月17日 金曜日

PHP7.3でWordPressオリジナルテーマの動作テストを行ったところ、
「Deprecated: Function create_function() is deprecated」というエラー
これはPHP7.2から「create_function」が非推奨になったため。

該当箇所はfunction.php内に記述していた本体アップデートを非表示にする記述

add_filter('pre_site_transient_update_core', create_function('$a', "return  null;"));

こちらでcreate_functionを使用しているため

この記述を以下のように修正

//本体のアップデート通知を非表示
add_filter("pre_site_transient_update_core", "__return_null");

プラグインのアップデート通知を非表示にする場合

//プラグインのアップデート通知を非表示
add_filter("pre_site_transient_update_plugins", "__return_null");

サイト内検索

カテゴリー

最近の投稿

↑上に戻る