20100116 01 Word Pressテンプレートのカスタマイズ&Xml出力

3,064 views

Published on

2010/1/16に行ったWordPress初心者向けの勉強会プレゼンテーションです。

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,064
On SlideShare
0
From Embeds
0
Number of Embeds
250
Actions
Shares
0
Downloads
18
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

20100116 01 Word Pressテンプレートのカスタマイズ&Xml出力

  1. 1. WordPressテーマカスタマイズ&XML出力<br />2010/1/16<br />フリーランスシステムエンジニア<br />上村 崇<br />
  2. 2. はじめに<br />
  3. 3. このプレゼンは後で公開しますので<br />書き写す必要はありません<br />
  4. 4. 質問は随時、挙手で<br />
  5. 5. それでは本題<br />
  6. 6. まずはじめに、<br />WordPressのテーマをカスタマイズする方法について<br />つぎに、<br />XMLファイルを出力する<br />方法について<br />
  7. 7.
  8. 8. WordPressとは<br />
  9. 9. ブログツールの一つ<br />
  10. 10. PHPで作られています<br />
  11. 11. MySQLを使っています<br />
  12. 12. 創始者Matt Mullenweg氏26歳<br />
  13. 13. ブログツール比較<br />日本<br />全世界<br />
  14. 14. CMS比較<br />日本<br />全世界<br />
  15. 15. WordPressが<br />2009年のベストCMS賞を獲得<br />
  16. 16. テーマについて<br />
  17. 17. テーマは無数にあります<br />
  18. 18.
  19. 19.
  20. 20.
  21. 21.
  22. 22.
  23. 23.
  24. 24.
  25. 25. テーマをカスタマイズしましょう!<br />
  26. 26. もちろん<br />HTML<br />スタイルシート<br />の知識は必要ですが<br />
  27. 27. WordPress<br />ディレクトリ構成<br />PHP<br />テンプレート<br />テンプレートタグ<br />
  28. 28. WordPressディレクトリ構成<br />
  29. 29. themes<br />classic<br />初期状態でテーマは2つ<br />
  30. 30. themes<br />default<br />とりあえずテーマファイルの置き場所だけ知っていればいいです<br />
  31. 31. PHPの基本<br />
  32. 32. まず、普通のHTMLファイルは<br />こんなのです。<br />
  33. 33. index.html<br />&lt;html&gt; <br />&lt;head&gt;<br />&lt;title&gt;文書のタイトル&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt; <br /> 文書の本文<br />&lt;/body&gt; <br />&lt;/html&gt;<br />
  34. 34. 同じことをPHPでやると、<br />こうなります。<br />
  35. 35. index.php<br />&lt;?php<br />echo &quot;&lt;html&gt;&quot;;<br />echo &quot; &lt;head&gt;&quot;;<br />echo &quot; &lt;title&gt;文書のタイトル&lt;/title&gt;&quot;;<br />echo &quot; &lt;/head&gt;&quot;;<br />echo &quot; &lt;body&gt;&quot;;<br />echo &quot;文書の本文&quot;;<br />echo &quot; &lt;/body&gt;&quot;;<br />echo &quot;&lt;/html&gt;&quot;;<br />?&gt;<br />
  36. 36. 別の方法もあります。<br />
  37. 37. index.php<br />&lt;?php<br /> $title = &quot;文書のタイトル&quot;;<br /> $contents = &quot;文書の本文&quot;;<br />?&gt;<br />&lt;html&gt; <br /> &lt;head&gt;<br /> &lt;title&gt;&lt;?phpecho $title ?&gt;&lt;/title&gt;<br /> &lt;/head&gt;<br /> &lt;body&gt; <br />&lt;?phpecho $contents ?&gt;<br /> &lt;/body&gt; <br />&lt;/html&gt;<br />
  38. 38. つまり、<br />PHPを書くときは&lt;?php ?&gt; で囲む<br />
  39. 39. テンプレートと<br />テンプレートタグ<br />
  40. 40. ブロックに分けて考えてみます<br />
  41. 41. header<br />main<br />contents<br />sidebar<br />footer<br />
  42. 42. コードで表すとこうなります-><br />
  43. 43. index.php<br />&lt;?phpget_header();?&gt;<br /> &lt;?phpif ( have_posts() ) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;?phpendwhile;?&gt;<br /> &lt;?phpelse :?&gt;<br /> &lt;?phpendif; ?&gt;<br />&lt;?phpget_sidebar(); ?&gt;<br />&lt;?phpget_footer();?&gt;<br />
  44. 44. index.php<br />&lt;?phpget_header();?&gt;<br /> &lt;?phpif ( have_posts() ) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;?phpendwhile;?&gt;<br /> &lt;?phpelse :?&gt;<br /> &lt;?phpendif; ?&gt;<br />&lt;?phpget_sidebar(); ?&gt;<br />&lt;?phpget_footer();?&gt;<br />WordPressループ<br />(Main Contents)<br />
  45. 45. index.php<br />&lt;?phpget_header();?&gt;<br /> &lt;?phpif ( have_posts() ) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;?phpendwhile;?&gt;<br /> &lt;?phpelse :?&gt;<br /> &lt;?phpendif; ?&gt;<br />&lt;?phpget_sidebar(); ?&gt;<br />&lt;?phpget_footer();?&gt;<br />header<br />main<br />contents<br />sidebar<br />footer<br />
  46. 46. index.php<br />&lt;?phpget_header();?&gt;<br /> &lt;?phpif ( have_posts() ) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;?phpendwhile;?&gt;<br /> &lt;?phpelse :?&gt;<br /> &lt;?phpendif; ?&gt;<br />&lt;?phpget_sidebar(); ?&gt;<br />&lt;?phpget_footer();?&gt;<br />header<br />main<br />contents<br />sidebar<br />footer<br />
  47. 47. index.php<br />&lt;?phpget_header();?&gt;<br /> &lt;?phpif ( have_posts() ) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;?phpendwhile;?&gt;<br /> &lt;?phpelse :?&gt;<br /> &lt;?phpendif; ?&gt;<br />&lt;?phpget_sidebar(); ?&gt;<br />&lt;?phpget_footer();?&gt;<br />header<br />main<br />contents<br />sidebar<br />footer<br />
  48. 48. index.php<br />&lt;?phpget_header();?&gt;<br /> &lt;?phpif ( have_posts() ) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;?phpendwhile;?&gt;<br /> &lt;?phpelse :?&gt;<br /> &lt;?phpendif; ?&gt;<br />&lt;?phpget_sidebar(); ?&gt;<br />&lt;?phpget_footer();?&gt;<br />header<br />main<br />contents<br />sidebar<br />footer<br />
  49. 49. index.php<br />&lt;?phpget_header();?&gt;<br /> &lt;?phpif ( have_posts() ) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;?phpendwhile;?&gt;<br /> &lt;?phpelse :?&gt;<br /> &lt;?phpendif; ?&gt;<br />&lt;?phpget_sidebar(); ?&gt;<br />&lt;?phpget_footer();?&gt;<br />テンプレートタグ<br />WordPress組込の関数<br />
  50. 50. index.php<br />header.php<br />&lt;?phpget_header();?&gt;<br /> &lt;?phpif ( have_posts() ) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;?phpendwhile;?&gt;<br /> &lt;?phpelse :?&gt;<br /> &lt;?phpendif; ?&gt;<br />&lt;?phpget_sidebar(); ?&gt;<br />&lt;?phpget_footer();?&gt;<br />sidebar.php<br />footer.php<br />
  51. 51. default<br />テンプレート<br />
  52. 52. Headerについて詳しく見てみます。<br />
  53. 53. header<br />
  54. 54. header.php<br />&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &lt;?phplanguage_attributes(); ?&gt;&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;&lt;?phpbloginfo(&apos;html_type&apos;); ?&gt;; charset=&lt;?phpbloginfo(&apos;charset&apos;); ?&gt;&quot; /&gt;<br />&lt;title&gt;<br /> &lt;?phpwp_title(&apos;&laquo;&apos;, true, &apos;right&apos;); ?&gt;<br /> &lt;?phpbloginfo(&apos;name&apos;); ?&gt;<br />&lt;/title&gt;<br />&lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?phpbloginfo(&apos;stylesheet_url&apos;); ?&gt;&quot; type=&quot;text/css” /&gt;<br />&lt;style type=&quot;text/css”&gt;<br /> #page { background: url(&quot;&lt;?phpbloginfo(&apos;stylesheet_directory&apos;); ?&gt;/images/kubrickbg-ltr.jpg“) }<br />&lt;/style&gt;<br />&lt;?phpwp_head(); ?&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;div id=&quot;page&quot;&gt;<br />&lt;div id=&quot;header&quot; role=&quot;banner&quot;&gt;<br />&lt;div id=&quot;headerimg&quot;&gt;<br />&lt;h1&gt;&lt;a href=&quot;&lt;?php echo get_option(&apos;home&apos;); ?&gt;/&quot;&gt;&lt;?phpbloginfo(&apos;name&apos;); ?&gt;&lt;/a&gt;&lt;/h1&gt;<br />&lt;div class=&quot;description&quot;&gt;&lt;?phpbloginfo(&apos;description&apos;); ?&gt;&lt;/div&gt;<br />&lt;/div&gt;<br />&lt;/div&gt;<br />
  55. 55. header.php<br />&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &lt;?phplanguage_attributes(); ?&gt;&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;&lt;?phpbloginfo(&apos;html_type&apos;); ?&gt;; charset=&lt;?phpbloginfo(&apos;charset&apos;); ?&gt;&quot; /&gt;<br />&lt;title&gt;<br /> &lt;?phpwp_title(&apos;&laquo;&apos;, true, &apos;right&apos;); ?&gt;<br /> &lt;?phpbloginfo(&apos;name&apos;); ?&gt;<br />&lt;/title&gt;<br />&lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?phpbloginfo(&apos;stylesheet_url&apos;); ?&gt;&quot; type=&quot;text/css” /&gt;<br />&lt;style type=&quot;text/css”&gt;<br /> #page { background: url(&quot;&lt;?phpbloginfo(&apos;stylesheet_directory&apos;); ?&gt;/images/kubrickbg-ltr.jpg“) }<br />&lt;/style&gt;<br />&lt;?phpwp_head(); ?&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;div id=&quot;page&quot;&gt;<br />&lt;div id=&quot;header&quot; role=&quot;banner&quot;&gt;<br />&lt;div id=&quot;headerimg&quot;&gt;<br />&lt;h1&gt;&lt;a href=&quot;&lt;?php echo get_option(&apos;home&apos;); ?&gt;/&quot;&gt;&lt;?phpbloginfo(&apos;name&apos;); ?&gt;&lt;/a&gt;&lt;/h1&gt;<br />&lt;div class=&quot;description&quot;&gt;&lt;?phpbloginfo(&apos;description&apos;); ?&gt;&lt;/div&gt;<br />&lt;/div&gt;<br />&lt;/div&gt;<br />URL<br />タイトル<br />サイトの説明<br />
  56. 56. URL<br />タイトル<br />サイトの説明<br />
  57. 57. header.php<br />&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &lt;?phplanguage_attributes(); ?&gt;&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;&lt;?phpbloginfo(&apos;html_type&apos;); ?&gt;; charset=&lt;?phpbloginfo(&apos;charset&apos;); ?&gt;&quot; /&gt;<br />&lt;title&gt;<br /> &lt;?phpwp_title(&apos;&laquo;&apos;, true, &apos;right&apos;); ?&gt;<br /> &lt;?phpbloginfo(&apos;name&apos;); ?&gt;<br />&lt;/title&gt;<br />&lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?phpbloginfo(&apos;stylesheet_url&apos;); ?&gt;&quot; type=&quot;text/css” /&gt;<br />&lt;style type=&quot;text/css”&gt;<br /> #page { background: url(&quot;&lt;?phpbloginfo(&apos;stylesheet_directory&apos;); ?&gt;/images/kubrickbg-ltr.jpg“) }<br />&lt;/style&gt;<br />&lt;?phpwp_head(); ?&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;div id=&quot;page&quot;&gt;<br />&lt;div id=&quot;header&quot; role=&quot;banner&quot;&gt;<br />&lt;div id=&quot;headerimg&quot;&gt;<br />&lt;h1&gt;&lt;a href=&quot;&lt;?php echo get_option(&apos;home&apos;); ?&gt;/&quot;&gt;&lt;?phpbloginfo(&apos;name&apos;); ?&gt;&lt;/a&gt;&lt;/h1&gt;<br />&lt;div class=&quot;description&quot;&gt;&lt;?phpbloginfo(&apos;description&apos;); ?&gt;&lt;/div&gt;<br />&lt;/div&gt;<br />&lt;/div&gt;<br />
  58. 58. header.php<br />&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &lt;?phplanguage_attributes(); ?&gt;&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;&lt;?phpbloginfo(&apos;html_type&apos;); ?&gt;; charset=&lt;?phpbloginfo(&apos;charset&apos;); ?&gt;&quot; /&gt;<br />&lt;title&gt;<br /> &lt;?phpwp_title(&apos;&laquo;&apos;, true, &apos;right&apos;); ?&gt;<br /> &lt;?phpbloginfo(&apos;name&apos;); ?&gt;<br />&lt;/title&gt;<br />&lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?phpbloginfo(&apos;stylesheet_url&apos;); ?&gt;&quot; type=&quot;text/css” /&gt;<br />&lt;style type=&quot;text/css”&gt;<br /> #page { background: url(&quot;&lt;?phpbloginfo(&apos;stylesheet_directory&apos;); ?&gt;/images/kubrickbg-ltr.jpg“) }<br />&lt;/style&gt;<br />&lt;?phpwp_head(); ?&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;div id=&quot;page&quot;&gt;<br />&lt;div id=&quot;header&quot; role=&quot;banner&quot;&gt;<br />&lt;div id=&quot;headerimg&quot;&gt;<br />&lt;h1&gt;&lt;a href=&quot;&lt;?php echo get_option(&apos;home&apos;); ?&gt;/&quot;&gt;&lt;?phpbloginfo(&apos;name&apos;); ?&gt;&lt;/a&gt;&lt;/h1&gt;<br />&lt;div class=&quot;description&quot;&gt;&lt;?phpbloginfo(&apos;description&apos;); ?&gt;&lt;/div&gt;<br />&lt;/div&gt;<br />&lt;/div&gt;<br />ドキュメントの<br />場所は?<br />
  59. 59. wordpresscodex<br />検 索<br />
  60. 60. 次に、WordPressループの説明<br />
  61. 61. index.php<br />WordPressループ<br />(Main Contents)<br />&lt;?phpget_header();?&gt;<br /> &lt;?phpif ( have_posts() ) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;?phpendwhile;?&gt;<br /> &lt;?phpelse :?&gt;<br /> &lt;?phpendif; ?&gt;<br />&lt;?phpget_sidebar(); ?&gt;<br />&lt;?phpget_footer();?&gt;<br />header<br />main<br />contents<br />sidebar<br />footer<br />
  62. 62. 繰り返し<br />記事タイトル<br />日付<br />本文<br />カテゴリ、コメント<br />
  63. 63. WordPressループ<br />&lt;?phpif (have_posts()) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;div &lt;?phppost_class(); ?&gt; id=&quot;post-&lt;?phpthe_ID(); ?&gt;&quot;&gt;<br />&lt;h2&gt;&lt;a href=&quot;&lt;?phpthe_permalink()?&gt;“ &gt;&lt;?phpthe_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt;<br />&lt;small&gt;&lt;?phpthe_time(__(&apos;F jS, Y&apos;, &apos;kubrick&apos;))?&gt;&lt;/small&gt;<br />&lt;div class=&quot;entry&quot;&gt;<br />&lt;?phpthe_content(__(&apos;Read the rest of this entry &raquo;&apos;, &apos;kubrick&apos;)); ?&gt;<br />&lt;/div&gt;<br />&lt;p class=&quot;postmetadata&quot;&gt;<br />&lt;?phpprintf(__(&apos;Posted in %s&apos;, &apos;kubrick&apos;), get_the_category_list(&apos;, &apos;)); ?&gt; | <br />&lt;?phpedit_post_link(__(&apos;Edit&apos;, &apos;kubrick&apos;), &apos;&apos;, &apos; | &apos;); ?&gt; <br />&lt;?phpcomments_popup_link(__(&apos;No Comments »&apos;, &apos;kubrick&apos;), <br />__(&apos;1 Comment »&apos;, &apos;kubrick&apos;), __(&apos;% Comments »&apos;, &apos;kubrick&apos;), &apos;&apos;,<br />__(&apos;Comments Closed&apos;, &apos;kubrick&apos;) ); ?&gt;<br />&lt;/p&gt;<br />&lt;/div&gt;<br />&lt;?phpendwhile; ?&gt;<br />&lt;?phpelse : ?&gt;<br />&lt;h2 class=&quot;center&quot;&gt;&lt;?php _e(&apos;Not Found&apos;, &apos;kubrick&apos;); ?&gt;&lt;/h2&gt;<br />&lt;p class=&quot;center&quot;&gt;&lt;?php _e(&apos;Sorry, but you are looking for something that isn’t here.&apos;, &apos;kubrick&apos;); ?&gt;&lt;/p&gt;<br />&lt;?phpget_search_form(); ?&gt;<br />&lt;?phpendif; ?&gt;<br />
  64. 64. &lt;?phpif (have_posts()) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;div &lt;?phppost_class(); ?&gt; id=&quot;post-&lt;?phpthe_ID(); ?&gt;&quot;&gt;<br />&lt;h2&gt;&lt;a href=&quot;&lt;?phpthe_permalink()?&gt;“ &gt;&lt;?phpthe_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt;<br />&lt;small&gt;&lt;?phpthe_time(__(&apos;F jS, Y&apos;, &apos;kubrick&apos;))?&gt;&lt;/small&gt;<br />&lt;div class=&quot;entry&quot;&gt;<br />&lt;?phpthe_content(__(&apos;Read the rest of this entry &raquo;&apos;, &apos;kubrick&apos;)); ?&gt;<br />&lt;/div&gt;<br />&lt;p class=&quot;postmetadata&quot;&gt;<br />&lt;?phpprintf(__(&apos;Posted in %s&apos;, &apos;kubrick&apos;), get_the_category_list(&apos;, &apos;)); ?&gt; | <br />&lt;?phpedit_post_link(__(&apos;Edit&apos;, &apos;kubrick&apos;), &apos;&apos;, &apos; | &apos;); ?&gt; <br />&lt;?phpcomments_popup_link(__(&apos;No Comments »&apos;, &apos;kubrick&apos;), <br />__(&apos;1 Comment »&apos;, &apos;kubrick&apos;), __(&apos;% Comments »&apos;, &apos;kubrick&apos;), &apos;&apos;,<br />__(&apos;Comments Closed&apos;, &apos;kubrick&apos;) ); ?&gt;<br />&lt;/p&gt;<br />&lt;/div&gt;<br />&lt;?phpendwhile; ?&gt;<br />&lt;?phpelse : ?&gt;<br />&lt;h2 class=&quot;center&quot;&gt;&lt;?php _e(&apos;Not Found&apos;, &apos;kubrick&apos;); ?&gt;&lt;/h2&gt;<br />&lt;p class=&quot;center&quot;&gt;&lt;?php _e(&apos;Sorry, but you are looking for something that isn’t here.&apos;, &apos;kubrick&apos;); ?&gt;&lt;/p&gt;<br />&lt;?phpget_search_form(); ?&gt;<br />&lt;?phpendif; ?&gt;<br />投稿があればtrue、なければfalse<br />投稿がある場合の処理<br />投稿がない場合の処理<br />
  65. 65. &lt;?phpif (have_posts()) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;div &lt;?phppost_class(); ?&gt; id=&quot;post-&lt;?phpthe_ID(); ?&gt;&quot;&gt;<br />&lt;h2&gt;&lt;a href=&quot;&lt;?phpthe_permalink()?&gt;“ &gt;&lt;?phpthe_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt;<br />&lt;small&gt;&lt;?phpthe_time(__(&apos;F jS, Y&apos;, &apos;kubrick&apos;))?&gt;&lt;/small&gt;<br />&lt;div class=&quot;entry&quot;&gt;<br />&lt;?phpthe_content(__(&apos;Read the rest of this entry &raquo;&apos;, &apos;kubrick&apos;)); ?&gt;<br />&lt;/div&gt;<br />&lt;p class=&quot;postmetadata&quot;&gt;<br />&lt;?phpprintf(__(&apos;Posted in %s&apos;, &apos;kubrick&apos;), get_the_category_list(&apos;, &apos;)); ?&gt; | <br />&lt;?phpedit_post_link(__(&apos;Edit&apos;, &apos;kubrick&apos;), &apos;&apos;, &apos; | &apos;); ?&gt; <br />&lt;?phpcomments_popup_link(__(&apos;No Comments »&apos;, &apos;kubrick&apos;), <br />__(&apos;1 Comment »&apos;, &apos;kubrick&apos;), __(&apos;% Comments »&apos;, &apos;kubrick&apos;), &apos;&apos;,<br />__(&apos;Comments Closed&apos;, &apos;kubrick&apos;) ); ?&gt;<br />&lt;/p&gt;<br />&lt;/div&gt;<br />&lt;?phpendwhile; ?&gt;<br />&lt;?phpelse : ?&gt;<br />&lt;h2 class=&quot;center&quot;&gt;&lt;?php _e(&apos;Not Found&apos;, &apos;kubrick&apos;); ?&gt;&lt;/h2&gt;<br />&lt;p class=&quot;center&quot;&gt;&lt;?php _e(&apos;Sorry, but you are looking for something that isn’t here.&apos;, &apos;kubrick&apos;); ?&gt;&lt;/p&gt;<br />&lt;?phpget_search_form(); ?&gt;<br />&lt;?phpendif; ?&gt;<br />投稿がある場合の処理<br />
  66. 66. &lt;?phpif (have_posts()) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;div &lt;?phppost_class(); ?&gt; id=&quot;post-&lt;?phpthe_ID(); ?&gt;&quot;&gt;<br />&lt;h2&gt;&lt;a href=&quot;&lt;?phpthe_permalink()?&gt;“ &gt;&lt;?phpthe_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt;<br />&lt;small&gt;&lt;?phpthe_time(__(&apos;F jS, Y&apos;, &apos;kubrick&apos;))?&gt;&lt;/small&gt;<br />&lt;div class=&quot;entry&quot;&gt;<br />&lt;?phpthe_content(__(&apos;Read the rest of this entry &raquo;&apos;, &apos;kubrick&apos;)); ?&gt;<br />&lt;/div&gt;<br />&lt;p class=&quot;postmetadata&quot;&gt;<br />&lt;?phpprintf(__(&apos;Posted in %s&apos;, &apos;kubrick&apos;), get_the_category_list(&apos;, &apos;)); ?&gt; | <br />&lt;?phpedit_post_link(__(&apos;Edit&apos;, &apos;kubrick&apos;), &apos;&apos;, &apos; | &apos;); ?&gt; <br />&lt;?phpcomments_popup_link(__(&apos;No Comments »&apos;, &apos;kubrick&apos;), <br />__(&apos;1 Comment »&apos;, &apos;kubrick&apos;), __(&apos;% Comments »&apos;, &apos;kubrick&apos;), &apos;&apos;,<br />__(&apos;Comments Closed&apos;, &apos;kubrick&apos;) ); ?&gt;<br />&lt;/p&gt;<br />&lt;/div&gt;<br />&lt;?phpendwhile; ?&gt;<br />&lt;?phpelse : ?&gt;<br />&lt;h2 class=&quot;center&quot;&gt;&lt;?php _e(&apos;Not Found&apos;, &apos;kubrick&apos;); ?&gt;&lt;/h2&gt;<br />&lt;p class=&quot;center&quot;&gt;&lt;?php _e(&apos;Sorry, but you are looking for something that isn’t here.&apos;, &apos;kubrick&apos;); ?&gt;&lt;/p&gt;<br />&lt;?phpget_search_form(); ?&gt;<br />&lt;?phpendif; ?&gt;<br />投稿がある間Loopする<br />投稿1つ分の準備<br />投稿の数だけループ<br />
  67. 67. &lt;?phpif (have_posts()) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;div &lt;?phppost_class(); ?&gt; id=&quot;post-&lt;?phpthe_ID(); ?&gt;&quot;&gt;<br />&lt;h2&gt;&lt;a href=&quot;&lt;?phpthe_permalink()?&gt;“ &gt;&lt;?phpthe_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt;<br />&lt;small&gt;&lt;?phpthe_time(__(&apos;F jS, Y&apos;, &apos;kubrick&apos;))?&gt;&lt;/small&gt;<br />&lt;div class=&quot;entry&quot;&gt;<br />&lt;?phpthe_content(__(&apos;Read the rest of this entry &raquo;&apos;, &apos;kubrick&apos;)); ?&gt;<br />&lt;/div&gt;<br />&lt;p class=&quot;postmetadata&quot;&gt;<br />&lt;?phpprintf(__(&apos;Posted in %s&apos;, &apos;kubrick&apos;), get_the_category_list(&apos;, &apos;)); ?&gt; | <br />&lt;?phpedit_post_link(__(&apos;Edit&apos;, &apos;kubrick&apos;), &apos;&apos;, &apos; | &apos;); ?&gt; <br />&lt;?phpcomments_popup_link(__(&apos;No Comments »&apos;, &apos;kubrick&apos;), <br />__(&apos;1 Comment »&apos;, &apos;kubrick&apos;), __(&apos;% Comments »&apos;, &apos;kubrick&apos;), &apos;&apos;,<br />__(&apos;Comments Closed&apos;, &apos;kubrick&apos;) ); ?&gt;<br />&lt;/p&gt;<br />&lt;/div&gt;<br />&lt;?phpendwhile; ?&gt;<br />&lt;?phpelse : ?&gt;<br />&lt;h2 class=&quot;center&quot;&gt;&lt;?php _e(&apos;Not Found&apos;, &apos;kubrick&apos;); ?&gt;&lt;/h2&gt;<br />&lt;p class=&quot;center&quot;&gt;&lt;?php _e(&apos;Sorry, but you are looking for something that isn’t here.&apos;, &apos;kubrick&apos;); ?&gt;&lt;/p&gt;<br />&lt;?phpget_search_form(); ?&gt;<br />&lt;?phpendif; ?&gt;<br />タイトル<br />本文<br />全部理解しないと<br />いけないの?<br />
  68. 68. ・すべてのコードを理解する必要はない。<br />・イメージにあったテーマを見つけてきて、<br /> それをカスタマイズすればよい。<br />
  69. 69. default<br />他のファイルは?<br />
  70. 70. ← not foundページ<br /> アーカイブページ<br /> コメントページ<br />← 共通関数用<br />← 画像一覧ページ<br />default<br /> 言語関連ファイル<br />← リンクページ<br />← 特定の1ページ<br />← テーマのスクリーンショット<br />← 検索ページ<br />← 1投稿分の詳細ページ<br />
  71. 71. テーマのカスタマイズ方法<br />終わり<br />
  72. 72. つぎに、<br />XMLファイルを出力する<br />方法について<br />
  73. 73. 「MTだったらXMLの書き出しが比較的簡単に出来るんですが WPだとなかなか難しいみたいで、僕の希望としましてはWPを使ってXMLの簡単な 書き出し方法があればご教授頂きたいなと思います。RSSやFlashに使うときに便利なので・・・。」 <br />
  74. 74. 最新の投稿一覧<br />カテゴリー毎一覧<br />XML<br />
  75. 75. 最新の投稿一覧<br />カテゴリー毎一覧<br />XML<br />作る<br />
  76. 76. 仕様:<br />最新の投稿5件をXMLファイルに出力します。<br />・日付<br />・タイトル<br />・投稿内容<br />・カテゴリ<br />
  77. 77. 最新の投稿を出す方法は<br />index.phpを参考にできる<br />
  78. 78.
  79. 79. XML出力イメージ<br />・・・<br />
  80. 80. Step1:<br />XMLを出力するコードを作成します<br />
  81. 81. &lt;?php/*<br />Template Name: XmlForFlash<br />*/?&gt;<br />&lt;?php header(&apos;Content-Type: text/xml; charset=&apos;.get_option(&apos;blog_charset&apos;), true); ?&gt;<br />&lt;?php echo &apos;&lt;?xml version=&quot;1.0&quot; encoding=&quot;&apos;.get_option(&apos;blog_charset&apos;).&apos;&quot;?&apos;.‘&gt;’; ?&gt;<br />&lt;root&gt;<br />&lt;?phpquery_posts(&quot;posts_per_page=5&quot;); ?&gt;<br />&lt;?phpif (have_posts()) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;item&gt;<br />&lt;title&gt;&lt;![CDATA[&lt;?php echo the_title_rss(); ?&gt;]]&gt;&lt;/title&gt;<br />&lt;pubdate&gt;&lt;?php echo the_time(&apos;Y-m-d H:i:s’); ?&gt;&lt;/pubdate&gt;<br />&lt;?phpthe_category_rss(); ?&gt;<br />&lt;description&gt;&lt;![CDATA[&lt;?phpthe_content_rss(); ?&gt;]]&gt;&lt;/description&gt;<br />&lt;/item&gt;<br />&lt;?phpendwhile; ?&gt;<br />&lt;?phpendif; ?&gt;<br />&lt;/root&gt;<br />&lt;?xml version=&quot;1.0&quot; encoding=“UTF-8” ?&gt;<br />タイトル<br />時 刻<br />&lt;category&gt;<br />&lt;/category&gt;<br />カテゴリ<br />本文内容<br />テンプレートタグで書くと?<br />
  82. 82. &lt;?php/*<br />Template Name: XmlForFlash<br />*/?&gt;<br />&lt;?php header(&apos;Content-Type: text/xml; charset=&apos;.get_option(&apos;blog_charset&apos;), true); ?&gt;<br />&lt;?php echo &apos;&lt;?xml version=&quot;1.0&quot; encoding=&quot;&apos;.get_option(&apos;blog_charset&apos;).&apos;&quot;?&apos;.‘&gt;’; ?&gt;<br />&lt;root&gt;<br />&lt;?phpquery_posts(&quot;posts_per_page=5&quot;); ?&gt;<br />&lt;?phpif (have_posts()) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;item&gt;<br />&lt;title&gt;&lt;![CDATA[&lt;?php echo the_title_rss(); ?&gt;]]&gt;&lt;/title&gt;<br />&lt;pubdate&gt;&lt;?php echo the_time(&apos;Y-m-d H:i:s’); ?&gt;&lt;/pubdate&gt;<br />&lt;?phpthe_category_rss(); ?&gt;<br />&lt;description&gt;&lt;![CDATA[&lt;?phpthe_content_rss(); ?&gt;]]&gt;&lt;/description&gt;<br />&lt;/item&gt;<br />&lt;?phpendwhile; ?&gt;<br />&lt;?phpendif; ?&gt;<br />&lt;/root&gt;<br />続いてループ処理を挿入-><br />
  83. 83. &lt;?php/*<br />Template Name: XmlForFlash<br />*/?&gt;<br />&lt;?php header(&apos;Content-Type: text/xml; charset=&apos;.get_option(&apos;blog_charset&apos;), true); ?&gt;<br />&lt;?php echo &apos;&lt;?xml version=&quot;1.0&quot; encoding=&quot;&apos;.get_option(&apos;blog_charset&apos;).&apos;&quot;?&apos;.‘&gt;’; ?&gt;<br />&lt;root&gt;<br />&lt;?phpquery_posts(&quot;posts_per_page=5&quot;); ?&gt;<br />&lt;?phpif (have_posts()) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;item&gt;<br />&lt;title&gt;&lt;![CDATA[&lt;?php echo the_title_rss(); ?&gt;]]&gt;&lt;/title&gt;<br />&lt;pubdate&gt;&lt;?php echo the_time(&apos;Y-m-d H:i:s’); ?&gt;&lt;/pubdate&gt;<br />&lt;?phpthe_category_rss(); ?&gt;<br />&lt;description&gt;&lt;![CDATA[&lt;?phpthe_content_rss(); ?&gt;]]&gt;&lt;/description&gt;<br />&lt;/item&gt;<br />&lt;?phpendwhile; ?&gt;<br />&lt;?phpendif; ?&gt;<br />&lt;/root&gt;<br />最新の5件を取得-><br />
  84. 84. &lt;?php/*<br />Template Name: XmlForFlash<br />*/?&gt;<br />&lt;?php header(&apos;Content-Type: text/xml; charset=&apos;.get_option(&apos;blog_charset&apos;), true); ?&gt;<br />&lt;?php echo &apos;&lt;?xml version=&quot;1.0&quot; encoding=&quot;&apos;.get_option(&apos;blog_charset&apos;).&apos;&quot;?&apos;.‘&gt;’; ?&gt;<br />&lt;root&gt;<br />&lt;?phpquery_posts(&quot;posts_per_page=5&quot;); ?&gt;<br />&lt;?phpif (have_posts()) : ?&gt;<br />&lt;?phpwhile (have_posts()) : the_post(); ?&gt;<br />&lt;item&gt;<br />&lt;title&gt;&lt;![CDATA[&lt;?php echo the_title_rss(); ?&gt;]]&gt;&lt;/title&gt;<br />&lt;pubdate&gt;&lt;?php echo the_time(&apos;Y-m-d H:i:s’); ?&gt;&lt;/pubdate&gt;<br />&lt;?phpthe_category_rss(); ?&gt;<br />&lt;description&gt;&lt;![CDATA[&lt;?phpthe_content_rss(); ?&gt;]]&gt;&lt;/description&gt;<br />&lt;/item&gt;<br />&lt;?phpendwhile; ?&gt;<br />&lt;?phpendif; ?&gt;<br />&lt;/root&gt;<br />
  85. 85. default<br />新規作成<br />
  86. 86. Step2:<br />ファイルをWordPressに登録します<br />
  87. 87. ①外観 &gt; 編集<br />②作ったテンプレートファイルがエントリされていることを確認<br />
  88. 88. ①ページ &gt; 新規追加<br />②タイトルを入れる<br />③XmlForFlashを選択する<br />
  89. 89. 保存するとURLが得られます。<br />
  90. 90. 完成!<br />

×