狠狠撸

狠狠撸Share a Scribd company logo
WordPress初心者が
基本アーキテクチャを
ざっくりと学ぶ
参:エンジニアのためのWordPress開発入門
自己紹介!
WP歴
ざっと本一冊目
勉強会5回
10時間くらい
運用経験:なし
所属 職業
WEBプログラマー
エンジニアのためのWordPress開発入門
書店にあったなかでは、一番詳しそうかな…
WordPress って何?
コンテンツ管理システム(CMS)
HTMLやCSSを知らなくても、Webサイトを構築できる
ようになるツールのこと。
ブログもその一種
WordPress以外のCMS
Movable Type XOOPScocrete5
EC-CUBE Moodle MobileApps
基本的な機能
管理画面から記事を投稿して、公開できる。
?投稿ページ
?固定ページ
カスタマイズしたい時には
見た目をカスタマイズ…テーマ
機能をカスタマイズ…プラグイン
テーマとプラグイン
管理画面からインストールして使うことができる
自作するには?
物足りない
カスタマイズするからには
WPの仕組みを知りたい
ファイル構成
/index.php アクセスのエントリポイント
/wp-config.php 設定ファイル
/wp-admin/ 管理画面用のファイル群
/wp-content/ サイトのデータを格納
┗/language/ 言語ファイル
┗/themes/ テーマ
┗/plugins/ プラグイン
┗/uploads/ アップロードファイル
/wp-includes/ コアファイル
テーマを作ってみよう!
/wp-content/themes/
?style.css
?index.php
/*
Theme Name: booklog
Author: ClimbFrog
Author URI: https://wordpress.org/
Description: Sample Theme
Version: 1.0
License: GNU General Public License v2 or
later
License URI:
http://www.gnu.org/licenses/gpl-2.0.html
*/
できた!!!
データ構成
DB構造
?12個のテーブル
wp_posts 投稿記事、ページ、ナビゲーションなど
wp_postmeta 各投稿記事特有の情報(カスタムフィールド)
wp_terms 投稿およびリンクの分類(カテゴリ?タグ)に使われる語句
wp_term_taxonomy 投稿およびリンクの分類上の語句(カテゴリ?タグ)データ
wp_term_relationships オブジェクトと↑のカテゴリ?タグとの関連付け情報
wp_user 登録ユーザ
wp_usermeta 各ユーザ特有のユーザ?メタデータを格納
wp_comment コメント?トラックバック?ピンバックデータ
wp_commentmeta コメントのメタデータ
wp_options 管理>設定で設定された情報
wp_links リンク作成で作成されたリンク情報
飞辫冲辫辞蝉迟蝉テーブルをみてみよう
作
っ
て
み
た
index.phpを編集してみた
<?php get_header(); ?>
<?php get_footer(); ?>
get_header()って何?
WordPress Codex
WordPressの公式オンラインマニュアル
 https://wpdocs.osdn.jp/関数リファレンス/get_header
 現在のテーマディレクトリの header.php テンプレートファイルを読み
込みます。
 その他のテンプレートタグ例
bloginfo()
get_sidebar()
  wp_register()
header.phpを編集してみた
 <!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href=/slideshow/word-press-86732767/86732767/"<?php bloginfo ('stylesheet_url'); ?>"
type="text/css" />
</head>
<body>
<header>
<img src=/slideshow/word-press-86732767/86732767/"<?php header_image(); ?>" alt=/slideshow/word-press-86732767/86732767/"<?php bloginfo('name');?>">
<span><?php bloginfo('name'); ?><span>
</header>
functions.phpを編集してみた
 WordPressのデフォルト機能の動作を変更する
 
// カスタムヘッダー
$args = array(
'width' => 980,
'height' => 60
'default-image' => get_template_directory_uri() .  
'/images/header.jpg',
 'uploads' => true,
);
add_theme_support( 'custom-header', $args); 
 
着者への想いもぶつけたい!!!
そんなマルコスが出会った
のが
カスタム投稿タイプ
?投稿ページ
?固定ページ
以外のページを作れます
やり方は簡単!
register_post_type($post_t
ype, $options);
関数を使って投稿タイプを追加するだ
け!
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
どうせなら着者にタグ付けしたいな
そんなマルコスが出会ったの
がタクソノミー
カスタム投稿タイプに分類を設定できま
す。
やり方は簡単!
register_taxonomy('autho
r_category', 'author',
$args_tax);
関数を使ってタクソノミーを追加するだけ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
飞辫冲迟别谤尘蝉テーブルをみてみよう
飞辫冲迟别谤尘冲迟补虫辞苍辞尘测テーブルをみてみよう
タイトルと本文以外も入力したいな
そんなマルコスが出会った
のが カスタムフィールド
我儘いうな
カスタムフィールドのデータ追加
update_post_meta(74, ‘birthplace,’長野県’);
カスタムフィールドのデータ取得
$birthplace = get_post_meta(74, ‘birthplace,true);
が、管理画面の投稿ページで入力させるUIを作るのは面倒な作業が必要
プラグイン:Advanced Custom Fields などを使う
1.基本的な処理の流れ
URLルーティング
メインクエリ
URLルーティング
リクエスト解析
MVC WordPress
コントローラー
モデル
ビュー テンプレート
フック
フック
WordPress処理フローの途中のポイントに
割り込んで、独自の処理を追加すること
 アクション
処理を追加する
  add_action($tag, $function, $priority, $args);
 フィルター
  データや処理を変更する
add_filter($tag, $function, $priority, $args);
 実際は曖昧なところがあり、厳密に考えなくていい
フックを使ってみた
function check_post_date($content){
global $post;
$past_days = floor((time() - strtotime($post->post_date)) / 86400);
if($past_days >= 2){
$str = '<p class="message">投稿日から' . $past_days . '日以上が経過し
ています。</p>';
}
return $str . $content;
}
add_filter('the_content', 'check_post_date');
WordPress Codex
WordPressの公式オンラインマニュアル
 https://wpdocs.osdn.jp/プラグイン_API 
 
 プラグインAPI
WordPressの規定の処理を追加、変更するためのAPI
  フックなどで使用できる
メインクエリ
 URLリクエストが解析されて記事を取得するクエリが
 自動的に発行される。
 取得された情報はグローバル変数$wp_queryに格納される。
 
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php the_content(); ?>
<?php the_time('Y年m月d日'); ?>
<?php endwhile; else : ?>
//記事がない場合に表示
<?php endif; ?>
メインループ
テンプレート階層
トップページ home.php index.php
投稿ページ single-{post_type}.php single.php
固定ページ page-スラッ
グ.php
page-ID.php page.php
カテゴリー category-ID.php category.php archive.php
タクソノミー taxonomy-{taxonom
y}-{term}.php
taxonomy-{taxonom
y}.php
404 404.php
検索結果 search.php
プラグインの基本的な作り方
~略~
ご健闘をお祈りします

More Related Content

Similar to Word press初心者が 基本アーキテクチャを ざっくりと学ぶ (20)

KEY
奥辞谤诲笔谤别蝉蝉ってブログじゃないの?
tokumotonahoko
?
PDF
WordBeachDeathMarchWorkshop
takashi ono
?
PPTX
WordCamp Kansai 2016 ハンス?オン- -基本機能をおさらいしよう! WordPress のインストールから
Kitani Kimiya
?
PDF
CSS Nite in OSAKA, Vol.32:デザイナーのためのWordPressカスタマイズ
rie05
?
PDF
WordPress3.0 新デフォルトテーマ Twenty Ten 大解剖! ~秋バージョン~
hokori matu
?
PDF
ゼロからの奥辞谤诲笔谤别蝉蝉(第叁回)?テーマの构造、カスタマイズの基础?
schoowebcampus
?
PDF
4时间まったり奥辞谤诲笔谤别蝉蝉テーマ作成讲座
Shinichi Nishikawa
?
PDF
Webデザイナーが身に付けておきたい定番スキル ー WordPress 初級?導入編 ー
Kite Koga
?
KEY
奥辞谤诲笔谤别蝉蝉中级者への道!テンプレートタグはどう动くのか!?
Shinichi Nishikawa
?
KEY
奥辞谤诲笔谤别蝉蝉プラグイン作成入门
Yuji Nojima
?
PDF
ゼロからの奥辞谤诲笔谤别蝉蝉(第叁回)?テーマの构造、カスタマイズの基础?
schoowebcampus
?
PDF
WordBench Osaka Num09 2012/09/22
建也 吉田建也
?
PPTX
奥辞谤诲叠别苍肠丑熊本第3回勉强会
Akinori Tateyama
?
PDF
10分间でわかる奥辞谤诲笔谤别蝉蝉のファイル构成
Michiro Sakamoto
?
PDF
テーマ制作时の疑问とノンプログラマーにも优しいテーマを考える
Tsuyoshi.
?
PDF
もう一度基础から!奥辞谤诲笔谤别蝉蝉勉强会
Yutaro Fuji
?
PDF
ゼロからの奥辞谤诲笔谤别蝉蝉(第叁回)?テーマの构造、カスタマイズの基础?
schoowebcampus
?
PDF
ノンプログラミングWebデザイナーがWordPressをおぼえるためにやったこと ?巨人の肩にのってみた!?
Mignon Style
?
PDF
僕が飞辞谤诲辫谤别蝉蝉を选んだ理由
jsugiyama
?
PPTX
Wordbeach 2011 hajimeno ippo
Satoshi Kamigaki
?
奥辞谤诲笔谤别蝉蝉ってブログじゃないの?
tokumotonahoko
?
WordBeachDeathMarchWorkshop
takashi ono
?
WordCamp Kansai 2016 ハンス?オン- -基本機能をおさらいしよう! WordPress のインストールから
Kitani Kimiya
?
CSS Nite in OSAKA, Vol.32:デザイナーのためのWordPressカスタマイズ
rie05
?
WordPress3.0 新デフォルトテーマ Twenty Ten 大解剖! ~秋バージョン~
hokori matu
?
ゼロからの奥辞谤诲笔谤别蝉蝉(第叁回)?テーマの构造、カスタマイズの基础?
schoowebcampus
?
4时间まったり奥辞谤诲笔谤别蝉蝉テーマ作成讲座
Shinichi Nishikawa
?
Webデザイナーが身に付けておきたい定番スキル ー WordPress 初級?導入編 ー
Kite Koga
?
奥辞谤诲笔谤别蝉蝉中级者への道!テンプレートタグはどう动くのか!?
Shinichi Nishikawa
?
奥辞谤诲笔谤别蝉蝉プラグイン作成入门
Yuji Nojima
?
ゼロからの奥辞谤诲笔谤别蝉蝉(第叁回)?テーマの构造、カスタマイズの基础?
schoowebcampus
?
WordBench Osaka Num09 2012/09/22
建也 吉田建也
?
奥辞谤诲叠别苍肠丑熊本第3回勉强会
Akinori Tateyama
?
10分间でわかる奥辞谤诲笔谤别蝉蝉のファイル构成
Michiro Sakamoto
?
テーマ制作时の疑问とノンプログラマーにも优しいテーマを考える
Tsuyoshi.
?
もう一度基础から!奥辞谤诲笔谤别蝉蝉勉强会
Yutaro Fuji
?
ゼロからの奥辞谤诲笔谤别蝉蝉(第叁回)?テーマの构造、カスタマイズの基础?
schoowebcampus
?
ノンプログラミングWebデザイナーがWordPressをおぼえるためにやったこと ?巨人の肩にのってみた!?
Mignon Style
?
僕が飞辞谤诲辫谤别蝉蝉を选んだ理由
jsugiyama
?
Wordbeach 2011 hajimeno ippo
Satoshi Kamigaki
?

Word press初心者が 基本アーキテクチャを ざっくりと学ぶ