Akismet とプライバシーについて

先日からWordPressのダッシュボードにAkismetの通知が表示されていました。
GDPR関連の法律に準拠するか/否か ってことですね。
このサイトがヨーロッパからアクセスされることは無いと思いますが、一応「有効化」しました。

worpdpress テーマ制作002

投稿のタイトル – the_title() または the_title_attribute()
投稿の公開日時 – the_time()
属するカテゴリー – the_category()

the_title()でタイトルを出力すると、その中のHTMLタグも同時に吐き出される。
the_title_attribute()を利用するとHTMLタグは削除された状態で、タイトルの文字だけが出力される。

worpdpress テーマ制作001

style.css

/*
Theme Name: SampleTheme
Author: SampleUser
Author URI: http://●●●.com
Description: サンプルのテーマ
*/

ブログタイトル(サイトタイトル)を表示する

<?php bloginfo('name'); ?>

キャッチフレーズを表示する

<?php bloginfo('description'); ?>

記事要素を表示する

<?php if(have_posts()): while(have_posts()): the_post(); ?> <!-- ループ開始 -->
<!-- ここに繰り返し表示したい項目を記述します -->
<?php endwhile; endif; ?> <!-- ループ終了 -->

WordPressデータベースから取り出した投稿・固定ページを1件ずつ表示していく(デフォルト10件)
という意味
それぞれの命令は、
while → 処理を繰り返す構文
have_posts() → 次の記事があるか調べる
the_post() → 次の記事を取得する

記事要素を表示する(内容入り)

<?php if(have_posts()): while(have_posts()): the_post(); ?> <!-- ループ開始 -->
<?php echo get_the_date(); ?> <!-- 投稿日時を表示 -->
<?php the_category(', '); ?> <!-- カテゴリーを表示 -->
<?php the_title(); ?> <!-- 記事タイトルを表示 -->
<?php the_content(続きを読む); ?> <!-- 記事本文を表示 -->
<?php endwhile; endif; ?> <!-- ループ終了 -->

例えば、以下のコードでは「カテゴリーID」が「5」の記事を3つ出力します。

<?php query_posts('cat=5&posts_per_page=3'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
<?php endif; ?>

query_postsは非推奨でした…

<?php
$args = array( 'post_type' => 'post', 'cat' => 5, 'category_name' => 'news' );
$the_query = new WP_Query($args); if($the_query->have_posts()):
?>
<?php while ($the_query->have_posts()): $the_query->the_post(); ?>
<?php the_content(); ?>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else: ?>
<!-- 投稿が無い場合の処理 -->
<?php endif; ?>

アーカイブ

メモ:

<?php get_the_archive_title(); ?>
<?php the_archive_title(); ?>
<?php echo get_post_time('Y年m月'); ?>
<?php single_cat_title(); ?>

Contact Form 7の入力欄にページタイルを自動で入れる

メモ:
Contact Form 7の入力欄にページタイルを自動で入れる

functions.php

function my_form_tag_filter($tag){
$posttitle= get_the_title();
if(isset($posttitle)){
$name = $tag['name'];
if($name == 'posttitle')
$tag['values'] = (array) $posttitle;
}
return $tag;
}
add_filter('wpcf7_form_tag','my_form_tag_filter', 11);

Contact Form 7にラジオボタン選択済で表示

[radio posttitle default:1]

WordPressのサイトアドレス

メモ
別ディレクトをトップにしようとしたら上手く行かなかった

/*require( dirname( __FILE__ ) . '../../wp/wp-blog-header.php' );*/
include($_SERVER['DOCUMENT_ROOT'] . '/wp/wp-blog-header.php');

WordPressメモ 前後のページへのリンク

single.php

<?php $next_post = get_next_post(); ?>
<?php $previous_post = get_previous_post(); ?>
<?php if(!(empty($next_post) && empty($previous_post))): ?>
<div class="navi">
<ul>
<?php if(!empty($previous_post)): ?>
<li><?php previous_post_link( '%link', '<span>&laquo;</span> %title' ) ?></li>
<?php endif ; ?>
<?php if(!empty($next_post)): ?>
<li><?php next_post_link( '%link', '%title <span>&raquo;</span>' ) ?></li>
<?php endif ; ?>
</ul>
</div>

index.php

<?php $next_posts_link = get_next_posts_link('« 前のページ',0); ?>
<?php $previous_posts_link = get_previous_posts_link('次のページ »',0); ?>
<?php if((isset($next_posts_link)) || (isset($previous_posts_link))): ?>
<div>
<ul>
<?php if(isset($next_posts_link)): ?>
<li><?php echo $next_posts_link; ?></li>
<?php endif ; ?>
<?php if(isset($previous_posts_link)): ?>
<li><?php echo $previous_posts_link; ?></li>
<?php endif ; ?>
</ul>
</div>
<?php endif ; ?>