テーマディレクトリのパスの出し方。

通常

get_template_directory_uri();

普通のURL的なやつ。

get_template_directory();

サーバのディレクトリが出る。

子テーマだったらそのまま使っても親テーマのパスが出るので

get_stylesheet_directory_uri();

普通のURL的なやつ。

get_stylesheet_directory();

適宜使い分けて行きましょう。

404.phpを活用したい。

せっかくなので
テンプレートとして404.phpを作成しているのだしサイト全体の404をWordPressで表示される404に統一してしまおうという流れ。

.htaccessに

ErrorDocument 404 /404.php

.htaccessに記述したファイルパスの場所にphpファイルを作成。

404.phpの中身

<?php
require_once ('wp-load.php'); // wpの機能を使うために
status_header(404);
include(TEMPLATEPATH . '/404.php');
exit;
?>

親テーマのadd_actionされた関数をremoveしたい。

親テーマにある
add_actionされた関数をremoveしたい。
1.親テーマは触りたくない。
2.同名の関数を小テーマに作ると致命エラーがでる。

色々調べた結果
参考
ttps://elearn.jp/wpman/column/c20120807_01.html
ttps://www.venutip.com/content/right-way-override-theme-functions

function remove_event_admin_pre_get_posts(){
	remove_action( 'pre_get_posts', 'event_admin_pre_get_posts');
}
add_action( 'init', 'remove_event_admin_pre_get_posts');

add_action( ‘init‘, ‘remove_event_admin_pre_get_posts’);
initの実行タイミングなど通常と違うのが発見だった。

正規表現

■Aタグを消去する

<a +.*?>.*?</a>

Aタグで囲まれた文字列もあわせすべて削除する。

■Aタグを消去する(挟まれている文字は消さないバージョン)

<a +.*?>(.*?)</a>

置換:$1

■特定の文字列があればその一行をHIT 耳かき対応版

.*PRコメント.*\r

記事に投稿日と現在の日時を利用したNEW表示ファンクション版

//新着のNEW表示
function new_point() {
$html = "";
$day = (date('U') - get_the_time('U'))/(24*60*60);
$hyouji_day = 2; //日付設定
if($day <= $hyouji_day ){ 
$html .='<span class="new">NEW</span>';
}
return $html;
}

//店舗別ブログ新着のNEW表示


function shop_entry() {
wp_reset_query();

$page_list= get_pages('sort_column=menu_order&child_of=75');
foreach($page_list as $list){

$title = $list->post_title;
$url = $list->guid;

echo '<li><a href="' .$url. '">' .$title. '</a>';

if($list->ID == 71){
$string = "伊賀上野店";
}elseif($list->ID ==69 ){
$string = "商店街店";
}elseif($list->ID ==57 ){
$string = "まるやま店";
}elseif($list->ID ==59 ){
$string = "小倉店";
}elseif($list->ID ==61 ){
$string = "東大阪店";
}elseif($list->ID ==65 ){
$string = "桜井店";
}elseif($list->ID ==67 ){
$string = "祝園店";
}elseif($list->ID ==63 ){
$string = "西大和店";
}elseif($list->ID ==73 ){
$string = "京都八幡店";
}
$args = array(
            'post_status' => 'publish',
            'post_type' => 'post',
			'showposts' =>1,
            'meta_query' => array(
array('key'=>'shop_g','value'=> $string )
            )
        );
$posts = query_posts( $args );
foreach($posts as $post){
$entry_day = get_the_modified_date();
//echo $post->post_date;
$date = explode(" ", $post->post_date);
$date_a =$date[0];
if (strtotime(date('Y-m-d', strtotime("-2day"))) <= strtotime($date_a)) {
echo '<span class="new">NEW</span>';
}
}
echo '</li>';
wp_reset_query();
}// end foreach

}

これはがんばった。まじがんばった。
下のほうは特定のページの子ページのリストを取得しそこに投稿に付属しているメタデータと関連付けをし
クエリを投げそこから記事の更新日を抽出しexplodeを利用し日付のデータを整形しdateと照らし合わせ条件に該当する場合にechoさせる。

という感じ。
テンプレートには

<?php shop_entry();?>

でliタグとあわせて書き出しをされる。

Simple-Template

骨組みのみなレベルのテンプレート

simple2.zip

基本ベースのみ

style.css
footer.php
functions.php
header.php
index.php
loop.php
screenshot.png
sidebar.php
single.php