Suche senden
Hochladen
これからのpre_get_postsの話をしよう
•
38 gefällt mir
•
66,834 views
Hishikawa Takuro
Folgen
第24回WordBench神戸で話した資料です。
Weniger lesen
Mehr lesen
Technologie
Diashow-Anzeige
Melden
Teilen
Diashow-Anzeige
Melden
Teilen
1 von 99
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
climbFrog
[BurpSuiteJapan]Burp Suite回答編
[BurpSuiteJapan]Burp Suite回答編
Burp Suite Japan User Group
Webサイト改善提案書.pptx
Webサイト改善提案書.pptx
ssuserfeb710
Composer 從入門到實戰
Composer 從入門到實戰
Shengyou Fan
Adaptive Cardsへの招待
Adaptive Cardsへの招待
Nagao Hiroaki
PSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解する
Wataru Terada
WEB集客改善提案書.pptx
WEB集客改善提案書.pptx
tadahikoitou
Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~
abend_cve_9999_0001
Empfohlen
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
climbFrog
[BurpSuiteJapan]Burp Suite回答編
[BurpSuiteJapan]Burp Suite回答編
Burp Suite Japan User Group
Webサイト改善提案書.pptx
Webサイト改善提案書.pptx
ssuserfeb710
Composer 從入門到實戰
Composer 從入門到實戰
Shengyou Fan
Adaptive Cardsへの招待
Adaptive Cardsへの招待
Nagao Hiroaki
PSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解する
Wataru Terada
WEB集客改善提案書.pptx
WEB集客改善提案書.pptx
tadahikoitou
Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~
abend_cve_9999_0001
SQLアンチパターン~ファントムファイル
SQLアンチパターン~ファントムファイル
Itabashi Masayuki
BEM記法~HTMLコーディングする際のidやclassの命名規則~
BEM記法~HTMLコーディングする際のidやclassの命名規則~
Younju Park
Docker 基本のおさらい
Docker 基本のおさらい
Naoki Nagazumi
ライセンスを理解してますか?知っておきたいWordPressとGPLライセンス
ライセンスを理解してますか?知っておきたいWordPressとGPLライセンス
Jun Nogata
Sqlアンチパターン(メタデータトリブル)
Sqlアンチパターン(メタデータトリブル)
Tomoaki Uchida
如何使用 Xhprof 分析網站效能 (真實案例2)
如何使用 Xhprof 分析網站效能 (真實案例2)
Cyril Wang
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
Hiroshi Tokumaru
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?
ke-m kamekoopa
こわくない Git
こわくない Git
Kota Saito
[BurpSuiteJapan]Burp Suite実践編
[BurpSuiteJapan]Burp Suite実践編
Burp Suite Japan User Group
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP Nagoya
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura
【課題】Webサイト改善提案書
【課題】Webサイト改善提案書
MioFuruya
JSでファミコンエミュレータを作った時の話
JSでファミコンエミュレータを作った時の話
sairoutine
Rust と Wasmの現実
Rust と Wasmの現実
ShogoTagami1
Spring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsug
Toshiaki Maki
【PowerAppsガイド】とりあえず始める簡単作成テンプレート 一連の流れを解説 タスク管理アプリ例として
【PowerAppsガイド】とりあえず始める簡単作成テンプレート 一連の流れを解説 タスク管理アプリ例として
Hiromichi Fujiwara
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD
Yuta Matsumura
[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門
Burp Suite Japan User Group
You Don't Know Query (WordCamp Netherlands 2012)
You Don't Know Query (WordCamp Netherlands 2012)
andrewnacin
WordPressで投稿記事情報の取得方法
WordPressで投稿記事情報の取得方法
regret raym
Weitere ähnliche Inhalte
Was ist angesagt?
SQLアンチパターン~ファントムファイル
SQLアンチパターン~ファントムファイル
Itabashi Masayuki
BEM記法~HTMLコーディングする際のidやclassの命名規則~
BEM記法~HTMLコーディングする際のidやclassの命名規則~
Younju Park
Docker 基本のおさらい
Docker 基本のおさらい
Naoki Nagazumi
ライセンスを理解してますか?知っておきたいWordPressとGPLライセンス
ライセンスを理解してますか?知っておきたいWordPressとGPLライセンス
Jun Nogata
Sqlアンチパターン(メタデータトリブル)
Sqlアンチパターン(メタデータトリブル)
Tomoaki Uchida
如何使用 Xhprof 分析網站效能 (真實案例2)
如何使用 Xhprof 分析網站效能 (真實案例2)
Cyril Wang
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
Hiroshi Tokumaru
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?
ke-m kamekoopa
こわくない Git
こわくない Git
Kota Saito
[BurpSuiteJapan]Burp Suite実践編
[BurpSuiteJapan]Burp Suite実践編
Burp Suite Japan User Group
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP Nagoya
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura
【課題】Webサイト改善提案書
【課題】Webサイト改善提案書
MioFuruya
JSでファミコンエミュレータを作った時の話
JSでファミコンエミュレータを作った時の話
sairoutine
Rust と Wasmの現実
Rust と Wasmの現実
ShogoTagami1
Spring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsug
Toshiaki Maki
【PowerAppsガイド】とりあえず始める簡単作成テンプレート 一連の流れを解説 タスク管理アプリ例として
【PowerAppsガイド】とりあえず始める簡単作成テンプレート 一連の流れを解説 タスク管理アプリ例として
Hiromichi Fujiwara
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD
Yuta Matsumura
[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門
Burp Suite Japan User Group
Was ist angesagt?
(20)
SQLアンチパターン~ファントムファイル
SQLアンチパターン~ファントムファイル
BEM記法~HTMLコーディングする際のidやclassの命名規則~
BEM記法~HTMLコーディングする際のidやclassの命名規則~
Docker 基本のおさらい
Docker 基本のおさらい
ライセンスを理解してますか?知っておきたいWordPressとGPLライセンス
ライセンスを理解してますか?知っておきたいWordPressとGPLライセンス
Sqlアンチパターン(メタデータトリブル)
Sqlアンチパターン(メタデータトリブル)
如何使用 Xhprof 分析網站效能 (真實案例2)
如何使用 Xhprof 分析網站效能 (真實案例2)
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?
こわくない Git
こわくない Git
[BurpSuiteJapan]Burp Suite実践編
[BurpSuiteJapan]Burp Suite実践編
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
【課題】Webサイト改善提案書
【課題】Webサイト改善提案書
JSでファミコンエミュレータを作った時の話
JSでファミコンエミュレータを作った時の話
Rust と Wasmの現実
Rust と Wasmの現実
Spring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsug
【PowerAppsガイド】とりあえず始める簡単作成テンプレート 一連の流れを解説 タスク管理アプリ例として
【PowerAppsガイド】とりあえず始める簡単作成テンプレート 一連の流れを解説 タスク管理アプリ例として
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD
[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門
Andere mochten auch
You Don't Know Query (WordCamp Netherlands 2012)
You Don't Know Query (WordCamp Netherlands 2012)
andrewnacin
WordPressで投稿記事情報の取得方法
WordPressで投稿記事情報の取得方法
regret raym
クライアントに感謝されるCMS導入のコツ
クライアントに感謝されるCMS導入のコツ
Hishikawa Takuro
CMS導入で企業のWebサイト運営はこう変わる!
CMS導入で企業のWebサイト運営はこう変わる!
Hishikawa Takuro
あなたがWordCamp Kansai 2014に行くべき5つの理由
あなたがWordCamp Kansai 2014に行くべき5つの理由
Kojiro Fukazawa
WordPressがつくりだすCSSを利用する 初級編
WordPressがつくりだすCSSを利用する 初級編
Kojiro Fukazawa
a-blog cms 2.0 を活用した新しいWeb制作のワークフロー
a-blog cms 2.0 を活用した新しいWeb制作のワークフロー
Kazumich YAMAMOTO
ユーザーにやさしい管理画面をつくるために。テーマ制作者ができること 初級編【WordCamp Kansai 2014】
ユーザーにやさしい管理画面をつくるために。テーマ制作者ができること 初級編【WordCamp Kansai 2014】
Kojiro Fukazawa
町のウェブ屋があえて 「CMSの機能をダイエットする」 ことから提案する理由
町のウェブ屋があえて 「CMSの機能をダイエットする」 ことから提案する理由
Kojiro Fukazawa
concrete5で実践するリードナーチャリング
concrete5で実践するリードナーチャリング
株式会社ND&I しかたこうき
プロトタイプ時代の WordPressテーマの作り方・考え方
プロトタイプ時代の WordPressテーマの作り方・考え方
kenji goto
WordCamp Kansai 2015 - WordPress.org フォーラム参加のススメ
WordCamp Kansai 2015 - WordPress.org フォーラム参加のススメ
Kojiro Fukazawa
Concrete5で運用をデザイン
Concrete5で運用をデザイン
Atushi Sugiyama
これからのCMSマーケットトレンドとPHP (for fukuoka.php)
これからのCMSマーケットトレンドとPHP (for fukuoka.php)
株式会社ミツエーリンクス
フリーランスの事務机&お財布事情
フリーランスの事務机&お財布事情
Kojiro Fukazawa
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
Yuji Nojima
ノンプログラマーのためのカンタンWordPressテーマ作成入門 〜子テーマでテーマ作成&カスタマイズ〜
ノンプログラマーのためのカンタンWordPressテーマ作成入門 〜子テーマでテーマ作成&カスタマイズ〜
Mignon Style
クライアントと同じ方向を向くという事
クライアントと同じ方向を向くという事
kenji goto
HTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminar
kujirahand kujira
進化するオープンソース・エンタープライズCMSがWeb戦略を変える
進化するオープンソース・エンタープライズCMSがWeb戦略を変える
Hishikawa Takuro
Andere mochten auch
(20)
You Don't Know Query (WordCamp Netherlands 2012)
You Don't Know Query (WordCamp Netherlands 2012)
WordPressで投稿記事情報の取得方法
WordPressで投稿記事情報の取得方法
クライアントに感謝されるCMS導入のコツ
クライアントに感謝されるCMS導入のコツ
CMS導入で企業のWebサイト運営はこう変わる!
CMS導入で企業のWebサイト運営はこう変わる!
あなたがWordCamp Kansai 2014に行くべき5つの理由
あなたがWordCamp Kansai 2014に行くべき5つの理由
WordPressがつくりだすCSSを利用する 初級編
WordPressがつくりだすCSSを利用する 初級編
a-blog cms 2.0 を活用した新しいWeb制作のワークフロー
a-blog cms 2.0 を活用した新しいWeb制作のワークフロー
ユーザーにやさしい管理画面をつくるために。テーマ制作者ができること 初級編【WordCamp Kansai 2014】
ユーザーにやさしい管理画面をつくるために。テーマ制作者ができること 初級編【WordCamp Kansai 2014】
町のウェブ屋があえて 「CMSの機能をダイエットする」 ことから提案する理由
町のウェブ屋があえて 「CMSの機能をダイエットする」 ことから提案する理由
concrete5で実践するリードナーチャリング
concrete5で実践するリードナーチャリング
プロトタイプ時代の WordPressテーマの作り方・考え方
プロトタイプ時代の WordPressテーマの作り方・考え方
WordCamp Kansai 2015 - WordPress.org フォーラム参加のススメ
WordCamp Kansai 2015 - WordPress.org フォーラム参加のススメ
Concrete5で運用をデザイン
Concrete5で運用をデザイン
これからのCMSマーケットトレンドとPHP (for fukuoka.php)
これからのCMSマーケットトレンドとPHP (for fukuoka.php)
フリーランスの事務机&お財布事情
フリーランスの事務机&お財布事情
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
ノンプログラマーのためのカンタンWordPressテーマ作成入門 〜子テーマでテーマ作成&カスタマイズ〜
ノンプログラマーのためのカンタンWordPressテーマ作成入門 〜子テーマでテーマ作成&カスタマイズ〜
クライアントと同じ方向を向くという事
クライアントと同じ方向を向くという事
HTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminar
進化するオープンソース・エンタープライズCMSがWeb戦略を変える
進化するオープンソース・エンタープライズCMSがWeb戦略を変える
Ähnlich wie これからのpre_get_postsの話をしよう
Theme review-guidelines wckobe2013
Theme review-guidelines wckobe2013
hiratatsuya
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
Takashi Uemura
WordPress公式テーマ登録のための5ステップ
WordPress公式テーマ登録のための5ステップ
Mignon Style
WordPressのテーマ制作ライブ授業
WordPressのテーマ制作ライブ授業
webcampusschoo
Bootstrapを使って効率よくWordPressオリジナルテーマを作る
Bootstrapを使って効率よくWordPressオリジナルテーマを作る
Yoshinori Kobayashi
WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
タカシ キタジマ
What's new! TwentyThirteen + WordPress3.6
What's new! TwentyThirteen + WordPress3.6
Takashi Uemura
4時間まったりWordPressテーマ作成講座
4時間まったりWordPressテーマ作成講座
Shinichi Nishikawa
第2回こけむさズword press部
第2回こけむさズword press部
Yuki Suzuki
2014 01-11-tdc-6th-anniversary
2014 01-11-tdc-6th-anniversary
Chieko Aihara
Wordpress カスタム投稿
Wordpress カスタム投稿
Takami Kazuya
ゼロからつくるWord pressテーマ第9回
ゼロからつくるWord pressテーマ第9回
Hitsuji
WordPress基礎講座6 テーマの作成実習
WordPress基礎講座6 テーマの作成実習
Akinori Kawamitsu
Ähnlich wie これからのpre_get_postsの話をしよう
(13)
Theme review-guidelines wckobe2013
Theme review-guidelines wckobe2013
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPress公式テーマ登録のための5ステップ
WordPress公式テーマ登録のための5ステップ
WordPressのテーマ制作ライブ授業
WordPressのテーマ制作ライブ授業
Bootstrapを使って効率よくWordPressオリジナルテーマを作る
Bootstrapを使って効率よくWordPressオリジナルテーマを作る
WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
What's new! TwentyThirteen + WordPress3.6
What's new! TwentyThirteen + WordPress3.6
4時間まったりWordPressテーマ作成講座
4時間まったりWordPressテーマ作成講座
第2回こけむさズword press部
第2回こけむさズword press部
2014 01-11-tdc-6th-anniversary
2014 01-11-tdc-6th-anniversary
Wordpress カスタム投稿
Wordpress カスタム投稿
ゼロからつくるWord pressテーマ第9回
ゼロからつくるWord pressテーマ第9回
WordPress基礎講座6 テーマの作成実習
WordPress基礎講座6 テーマの作成実習
Mehr von Hishikawa Takuro
これから concrete5 を始める Web 制作者に伝えたい concrete5 と WordPress ここが一緒、ここが違う!
これから concrete5 を始める Web 制作者に伝えたい concrete5 と WordPress ここが一緒、ここが違う!
Hishikawa Takuro
エンジニアのための営業入門
エンジニアのための営業入門
Hishikawa Takuro
concrete5 CMS「運用」ケーススタディ
concrete5 CMS「運用」ケーススタディ
Hishikawa Takuro
Calypso動かしてみたよ!
Calypso動かしてみたよ!
Hishikawa Takuro
concrete5の紹介
concrete5の紹介
Hishikawa Takuro
concrete5 最新事情 2015
concrete5 最新事情 2015
Hishikawa Takuro
concrete5セミナー資料公開版
concrete5セミナー資料公開版
Hishikawa Takuro
WordPress使いのためのconcrete5入門
WordPress使いのためのconcrete5入門
Hishikawa Takuro
concrete5で行なうcms導入提案のポイント
concrete5で行なうcms導入提案のポイント
Hishikawa Takuro
concrete5.7のご紹介
concrete5.7のご紹介
Hishikawa Takuro
世界一即戦力なCMS
世界一即戦力なCMS
Hishikawa Takuro
はじめての concrete5 でウェブサイト作成〜入門チュートリアルガイド
はじめての concrete5 でウェブサイト作成〜入門チュートリアルガイド
Hishikawa Takuro
オープンソースCMSに学ぶ、前PSR時代のプロジェクトが脱レガシーする5つの方法
オープンソースCMSに学ぶ、前PSR時代のプロジェクトが脱レガシーする5つの方法
Hishikawa Takuro
Getting Started with WordPress JSON REST API
Getting Started with WordPress JSON REST API
Hishikawa Takuro
concrete5 in Japan 2014
concrete5 in Japan 2014
Hishikawa Takuro
concrete5 バージョン5.7のご紹介
concrete5 バージョン5.7のご紹介
Hishikawa Takuro
concrete5 5.6.3.1日本語版の紹介
concrete5 5.6.3.1日本語版の紹介
Hishikawa Takuro
concrete5デザインカスタマイズに必要なPHPの知識
concrete5デザインカスタマイズに必要なPHPの知識
Hishikawa Takuro
concrete5って何?〜Web制作者対象〜2014年版
concrete5って何?〜Web制作者対象〜2014年版
Hishikawa Takuro
コミュニティと仕事論
コミュニティと仕事論
Hishikawa Takuro
Mehr von Hishikawa Takuro
(20)
これから concrete5 を始める Web 制作者に伝えたい concrete5 と WordPress ここが一緒、ここが違う!
これから concrete5 を始める Web 制作者に伝えたい concrete5 と WordPress ここが一緒、ここが違う!
エンジニアのための営業入門
エンジニアのための営業入門
concrete5 CMS「運用」ケーススタディ
concrete5 CMS「運用」ケーススタディ
Calypso動かしてみたよ!
Calypso動かしてみたよ!
concrete5の紹介
concrete5の紹介
concrete5 最新事情 2015
concrete5 最新事情 2015
concrete5セミナー資料公開版
concrete5セミナー資料公開版
WordPress使いのためのconcrete5入門
WordPress使いのためのconcrete5入門
concrete5で行なうcms導入提案のポイント
concrete5で行なうcms導入提案のポイント
concrete5.7のご紹介
concrete5.7のご紹介
世界一即戦力なCMS
世界一即戦力なCMS
はじめての concrete5 でウェブサイト作成〜入門チュートリアルガイド
はじめての concrete5 でウェブサイト作成〜入門チュートリアルガイド
オープンソースCMSに学ぶ、前PSR時代のプロジェクトが脱レガシーする5つの方法
オープンソースCMSに学ぶ、前PSR時代のプロジェクトが脱レガシーする5つの方法
Getting Started with WordPress JSON REST API
Getting Started with WordPress JSON REST API
concrete5 in Japan 2014
concrete5 in Japan 2014
concrete5 バージョン5.7のご紹介
concrete5 バージョン5.7のご紹介
concrete5 5.6.3.1日本語版の紹介
concrete5 5.6.3.1日本語版の紹介
concrete5デザインカスタマイズに必要なPHPの知識
concrete5デザインカスタマイズに必要なPHPの知識
concrete5って何?〜Web制作者対象〜2014年版
concrete5って何?〜Web制作者対象〜2014年版
コミュニティと仕事論
コミュニティと仕事論
Kürzlich hochgeladen
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
Kürzlich hochgeladen
(8)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
これからのpre_get_postsの話をしよう
1.
これからの by @HissyNC /
WordBench Kobe Group pre_get_posts: What's the Right Way to Use? pre_get_posts の話をしよう 1
2.
query_posts非推奨? 『query_postsを捨てよ、pre_get_postsを 使おう』というブログ記事を公開したとこ ろ、はてブなどでバズる。「いつの間にこ んなことになっていたんだよ…」「非推奨 だなんて!いますぐ直さなきゃ!」「急に 言われても困る」「query_posts使いまく ってたぜマジかよ…」「初心者にこの説明 はキツイでしょ」等々の意見が噴出。 2
3.
pre_get_postsとは何か? 結局、Codexのquery_postsのページに非 推奨の文字が入ったのは一時的なもので、 その後表現が修正され、「query_postsの 代わりにpre_get_postsフィルターを使う ことを強く推奨する」となった。ではなぜ 数多のWordPress本でも紹介されている query_postsが推奨されないのだろうか。 pre_get_postsフィルターとは何なのか。 3
4.
まず テンプレート とは何か 4
5.
データベースから 目的のデータを 取得して 表示するためのもの 5
6.
ではない 6
7.
テンプレートとは 表示するデータを 整形する ためのもの 7
8.
データを取得する 目的には 本来使わない 8
9.
どんなデータを 取得するかを 決定するのは 9
10.
URL 10
11.
?p=1 ?cat=1 ?cat=1&post_type=book&paged=2 クエリー・ストリングという $query_string 11
12.
URLで どのデータを取得 するかが決まる どんな処理を行う かが決まる 12
13.
ほかのCMS でも同じ 13
14.
URLがページの 内容を表している = インターネットの 基本的な概念 14
15.
ここで疑問 15
16.
Webページには たくさんのデータ が表示されており 各ページで共通の ものもある 16
17.
たとえば サイドバーに 新着記事を5件表示 URLとは関係なく どのページにもある 17
18.
記事の下に 関連記事を5件表示 URLとは間接的に関係 があるが 直接示しているもの ではない 18
19.
これらを サブクエリー と呼ぶ 19
20.
?p=1 ?cat=1 ?cat=1&post_type=book&paged=2 クエリー・ストリングと直接対応し ているデータのことを 20
21.
メインクエリー と呼ぶ 21
22.
メインクエリー と サブクエリー 違いを理解しよう 22
23.
トップページの内容と してニュースカテゴリ ーの記事を表示する メインクエリー or サブクエリー? 23
24.
トップページの内容と してニュースカテゴリ ーの記事を表示する メインクエリー or サブクエリー? 24
25.
WordPressでは、フロントページ は新着投稿か、固定ページか、 2択です。CMSとしてはそれだ け?と違和感がありますが、そう いう設計ですので、本来特定のカ テゴリーの記事をトップページで 表示するのはWordPressではでき ません。get_postsを使うか、ウ ィジェットを使いましょう 25
26.
query_posts の 迷宮 26
27.
query_postsとは 本来 メインクエリーを 改変するためのもの 27
28.
http://example.com/?cat=1 28
29.
http://example.com/?cat=1 カテゴリーID が 1 28
30.
http://example.com/?cat=1 have_posts() = 投稿が存在する? カテゴリーID
が 1 28
31.
http://example.com/?cat=1 have_posts() = 投稿が存在する? カテゴリーID
が 1 the_post() = テンプレートタグを有効化 28
32.
http://example.com/?cat=1 have_posts() = 投稿が存在する? カテゴリーID
が 1 the_post() = テンプレートタグを有効化 <a href= <?php the_permalink(); ?> > <h2> <?php the_title(); ?></a> </h2> 28
33.
http://example.com/?cat=1 have_posts() = 投稿が存在する? カテゴリーID
が 1 the_post() = テンプレートタグを有効化 <a href= <?php the_permalink(); ?> > <h2> <?php the_title(); ?></a> </h2> ↓次の投稿へ have_posts() = 投稿が存在する? 28
34.
カテゴリーを指定している が、それ以外は? 表示件数(10件?) 並び順(投稿日が新しい順) 投稿タイプ(投稿) デフォルト設定がある 29
35.
メインクエリーには デフォルト設定 がある 30
36.
メインクエリーの デフォルト設定を 変更したい = query_posts 31
37.
32
38.
?cat=1 32
39.
?cat=1 デフォルト設定 32
40.
?cat=1 デフォルト設定 クエリーストリングの生成 32
41.
?cat=1 条件分岐タグの設定 デフォルト設定 クエリーストリングの生成 32
42.
?cat=1 条件分岐タグの設定 デフォルト設定 データベースから投稿を取得 クエリーストリングの生成 32
43.
?cat=1 条件分岐タグの設定 デフォルト設定 データベースから投稿を取得 使用するテンプレートの読み込み クエリーストリングの生成 32
44.
?cat=1 have_posts() = 投稿が存在する? the_post()
= テンプレートタグを有効化 <a href= <?php the_permalink(); ?> > <h2> 条件分岐タグの設定 デフォルト設定 データベースから投稿を取得 使用するテンプレートの読み込み クエリーストリングの生成 32
45.
?cat=1 have_posts() = 投稿が存在する? the_post()
= テンプレートタグを有効化 条件分岐タグの設定 デフォルト設定 データベースから投稿を取得 使用するテンプレートの読み込み クエリーストリングの生成 32
46.
?cat=1 have_posts() = 投稿が存在する? the_post()
= テンプレートタグを有効化 条件分岐タグの設定 デフォルト設定 データベースから投稿を取得 使用するテンプレートの読み込み query_posts() = 投稿の再取得 クエリーストリングの生成 32
47.
?cat=1 have_posts() = 投稿が存在する? the_post()
= テンプレートタグを有効化 条件分岐タグの設定 デフォルト設定 データベースから投稿を取得 使用するテンプレートの読み込み query_posts() = 投稿の再取得 クエリーストリングの生成 32
48.
?cat=1 have_posts() = 投稿が存在する? the_post()
= テンプレートタグを有効化 条件分岐タグの設定 デフォルト設定 データベースから投稿を取得 使用するテンプレートの読み込み query_posts() = 投稿の再取得 クエリーストリングの生成 32
49.
?cat=1 have_posts() = 投稿が存在する? the_post()
= テンプレートタグを有効化 条件分岐タグの設定 デフォルト設定 データベースから投稿を取得 使用するテンプレートの読み込み query_posts() = 投稿の再取得 クエリーストリングの生成 クエリーストリングの再生成 32
50.
?cat=1 have_posts() = 投稿が存在する? the_post()
= テンプレートタグを有効化 条件分岐タグの設定 デフォルト設定 データベースから投稿を取得 使用するテンプレートの読み込み query_posts() = 投稿の再取得 クエリーストリングの生成 クエリーストリングの再生成 条件分岐タグの再設定 32
51.
?cat=1 have_posts() = 投稿が存在する? the_post()
= テンプレートタグを有効化 条件分岐タグの設定 デフォルト設定 データベースから投稿を取得 使用するテンプレートの読み込み query_posts() = 投稿の再取得 クエリーストリングの生成 クエリーストリングの再生成 条件分岐タグの再設定 データベースから投稿を再取得 32
52.
?cat=1 have_posts() = 投稿が存在する? the_post()
= テンプレートタグを有効化 条件分岐タグの設定 デフォルト設定 データベースから投稿を取得 使用するテンプレートの読み込み query_posts() = 投稿の再取得 クエリーストリングの生成 クエリーストリングの再生成 条件分岐タグの再設定 データベースから投稿を再取得 query_posts以前のアレコレが消えてしまった! 32
53.
大丈夫! 戻す手段が あります 33
54.
wp_reset_query() query_posts 発動前の状態に戻す 34
55.
query_posts 何が問題なのか? 35
56.
ページ送りが効かない (頻出) 原因 = $query_string と結合していない global
$query_string; query_posts( $query_string . '&order=ASC' ); 36
57.
条件分岐タグの設定 データベースから投稿を取得 使用するテンプレートの読み込み query_posts() = 投稿の再取得 query_posts()以前の条件で テンプレートが選ばれてしまう =意図せず404になる 37
58.
条件分岐タグの設定 データベースから投稿を取得 使用するテンプレートの読み込み query_posts() = 投稿の再取得 条件分岐タグの再設定 2回DBから投稿データを取得 =非効率、表示遅速の原因 38
59.
条件分岐タグの設定 データベースから投稿を取得 使用するテンプレートの読み込み query_posts() = 投稿の再取得 条件分岐タグの再設定 条件分岐タグが上書きされる =混乱のもと 39
60.
条件分岐タグの上書き と、query_posts()を サブクエリーの取得に 使ってしまう間違いが 重なるとカオス 40
61.
header.php footer.php category.php is_category() = true sidebar.phpで query_posts()を使用 wp_reset_query() 書き忘れ is_category()
= false テンプレートファイルをま たいで影響が出る 41
62.
まとめ 42
63.
query_postsは 便利だが、影響範囲が 大きすぎる 43
64.
条件分岐の上書きは 初心者には分かりにくい 44
65.
これからの 推奨される 方法 45
66.
メインクエリー の改変 = pre_get_posts 46
67.
サブクエリー の作成 = get_posts 47
68.
サブクエリー の作成 = get_posts 条件分岐タグが書き換わらない 47
69.
用途によって 使いわけよう 48
70.
メインクエリー の改変 = pre_get_posts 49
71.
function 関数( $query
) { if ( is_admin() ¦¦ ! $query->is_main_query() ) return; if ( クエリーの改変を適用する条件 ) { $query->set( パラメーター , 値 ); return; } } add_action( 'pre_get_posts', '関数名' ); pre_get_posts基本文法 50
72.
function 関数( $query
) { if ( is_admin() ¦¦ ! $query->is_main_query() ) return; if ( クエリーの改変を適用する条件 ) { $query->set( パラメーター , 値 ); return; } } add_action( 'pre_get_posts', '関数名' ); pre_get_posts基本文法 管理画面とメインクエリー以外 には適用しない 51
73.
function 関数( $query
) { if ( is_admin() ¦¦ ! $query->is_main_query() ) return; if ( クエリーの改変を適用する条件 ) { $query->set( パラメーター , 値 ); return; } } add_action( 'pre_get_posts', '関数名' ); pre_get_posts基本文法 表示条件を変更したい ページを絞り込む 52
74.
function 関数( $query
) { if ( is_admin() ¦¦ ! $query->is_main_query() ) return; if ( クエリーの改変を適用する条件 ) { $query->set( パラメーター , 値 ); return; } } add_action( 'pre_get_posts', '関数名' ); pre_get_posts基本文法 メインクエリーの パラメーターを設定 53
75.
function 関数( $query
) { if ( is_admin() ¦¦ ! $query->is_main_query() ) return; if ( クエリーの改変を適用する条件 ) { $query->set( パラメーター , 値 ); return; } } add_action( 'pre_get_posts', '関数名' ); pre_get_posts基本文法 関数の名前は 自由につけて良い 54
76.
function 関数( $query
) { if ( is_admin() ¦¦ ! $query->is_main_query() ) return; if ( クエリーの改変を適用する条件 ) { 処理 return; } } add_action( 'pre_get_posts', '関数名' ); pre_get_posts基本文法 【最重要】 テーマのfunctions.phpに記載する query_postsの様に 各テンプレートには書かない 55
77.
?cat=1 デフォルト設定 条件分岐タグの設定 have_posts() =
投稿が存在する? the_post() = テンプレートタグを有効化 <a href= <?php the_permalink(); ?> > <h2> データベースから投稿を取得 使用するテンプレートの読み込み クエリーストリングの生成 56
78.
?cat=1 デフォルト設定 条件分岐タグの設定 have_posts() =
投稿が存在する? the_post() = テンプレートタグを有効化 データベースから投稿を取得 使用するテンプレートの読み込み クエリーストリングの生成 56
79.
?cat=1 デフォルト設定 条件分岐タグの設定 have_posts() =
投稿が存在する? the_post() = テンプレートタグを有効化 データベースから投稿を取得 使用するテンプレートの読み込み クエリーストリングの生成 pre_get_posts フィルター = クエリーストリングに無い条件の追加 56
80.
function exclude_category_at_home( $query
) { if ( is_admin() ¦¦ ! $query->is_main_query() ) return; if ( $query->is_home() ) { $query->set( 'cat', '-1,-1347' ); return; } } add_action( 'pre_get_posts', 'exclude_category_at_home' ); メインページから特定のカテゴリーを除外する 57
81.
function exclude_category_at_home( $query
) { if ( is_admin() ¦¦ ! $query->is_main_query() ) return; if ( $query->is_home() ) { $query->set( 'cat', '-1,-1347' ); return; } } add_action( 'pre_get_posts', 'exclude_category_at_home' ); メインページから特定のカテゴリーを除外する メインページのみに制限 注意:is_home() ではなく $query->is_home() 58
82.
function exclude_category_at_home( $query
) { if ( is_admin() ¦¦ ! $query->is_main_query() ) return; if ( $query->is_home() ) { $query->set( 'cat', '-1,-1347' ); return; } } add_action( 'pre_get_posts', 'exclude_category_at_home' ); メインページから特定のカテゴリーを除外する $query->set( パラメーター , 値 ); 使えるパラメーターはCodexの 関数リファレンス/WP_Queryを参照 59
83.
function search_exclude_cat_1( $query
) { if ( is_admin() ¦¦ ! $query->is_main_query() ) return; if ( $query->is_search() ) { $query->set( 'category__not_in', array(1) ); return; } } add_action( 'pre_get_posts', 'search_exclude_cat_1' ); 検索結果から特定のカテゴリーを除外する 60
84.
function search_exclude_cat_1( $query
) { if ( is_admin() ¦¦ ! $query->is_main_query() ) return; if ( $query->is_search() ) { $query->set( 'category__not_in', array(1) ); return; } } add_action( 'pre_get_posts', 'search_exclude_cat_1' ); 検索結果から特定のカテゴリーを除外する 検索結果で IDが1のカテゴリーを除外 配列で指定することもできる 61
85.
function search_only_post( $query
) { if ( is_admin() ¦¦ ! $query->is_main_query() ) return; if ( $query->is_search() ) { $query->set( 'post_type', 'post' ); return; } } add_action( 'pre_get_posts', 'search_only_post' ); 検索結果から固定ページを除外(投稿のみ) 62
86.
function search_only_post( $query
) { if ( is_admin() ¦¦ ! $query->is_main_query() ) return; if ( $query->is_search() ) { $query->set( 'post_type', 'post' ); return; } } add_action( 'pre_get_posts', 'search_only_post' ); 検索結果から固定ページを除外(投稿のみ) 検索結果のみに制限 Codexのサンプルは$query->is_search プロパティを見るより関数で書こう $query->is_search() → ○ 63
87.
function set_post_per_page( $query
) { if ( is_admin() || ! $query->is_main_query() ) return; if ( $query->is_home() ) { $query->set( 'posts_per_page', 1 ); return; } if ( $query->is_post_type_archive( 'movie' ) ) { $query->set( 'posts_per_page', 50 ); return; } } add_action( 'pre_get_posts', 'set_post_per_page'); 条件にしたがって表示件数を変更 64
88.
function set_post_per_page( $query
) { if ( is_admin() || ! $query->is_main_query() ) return; if ( $query->is_home() ) { $query->set( 'posts_per_page', 1 ); return; } if ( $query->is_post_type_archive( 'movie' ) ) { $query->set( 'posts_per_page', 50 ); return; } } add_action( 'pre_get_posts', 'set_post_per_page'); 条件にしたがって表示件数を変更 メインページでは 1件表示 65
89.
function set_post_per_page( $query
) { if ( is_admin() || ! $query->is_main_query() ) return; if ( $query->is_home() ) { $query->set( 'posts_per_page', 1 ); return; } if ( $query->is_post_type_archive( 'movie' ) ) { $query->set( 'posts_per_page', 50 ); return; } } add_action( 'pre_get_posts', 'set_post_per_page'); 条件にしたがって表示件数を変更 movie 投稿タイプのアーカイブでは 50件表示 66
90.
注意点 あくまでパラメーターの追加 固定ページをアーカイブに等 根本的に変更するのは厳しい = サブクエリーを使う 67
91.
注意点 一部の条件分岐は pre_get_postsのタイミ ングでは動作しない 例:is_front_page() 68
92.
サブクエリー の作成 = get_posts 69
93.
global $post; $args =
array( 'posts_per_page' => 5, 'cat' => 1 ); $myposts = get_posts( $args ); foreach( $myposts as $post ) { setup_postdata($post); ?> <h1><?php the_title(); ?></h1> <?php } wp_reset_postdata(); get_posts記述例 70
94.
global $post; $args =
array( 'posts_per_page' => 5, 'cat' => 1 ); $myposts = get_posts( $args ); foreach( $myposts as $post ) { setup_postdata($post); ?> <h1><?php the_title(); ?></h1> <?php } wp_reset_postdata(); get_posts記述例 テンプレートタグのセットアップ テンプレートタグのリセット 71
95.
Codexで get_posts のサンプルの書き方 が微妙にまちまち Codexの改善に期待 72
96.
$args = array( 'posts_per_page'
=> 5, 'offset' => 0, 'cat' => 0, 'orderby' => 'post_date', 'order' => 'DESC', 'post_type' => 'post', 'post_status' => 'publish', 'suppress_filters' => true, 'ignore_sticky_posts' => true, 'no_found_rows' => true ); WP_Query記述例 $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) { while ( $the_query->have_posts() ) { $the_query->the_post(); ?> <h1><?php the_title(); ?></h1> <?php } } wp_reset_postdata(); 上級者向けかも 73
97.
まとめ 74
98.
メインクエリーの変更は pre_get_posts サブクエリーの作成は get_posts (or WP_Query) 使い分ける 75
99.
Thanks! 質問は公式フォーラム または Twitter: @HissyNC
まで 76
Jetzt herunterladen