皆様こんにちは!魚住諒です。
初めましての方「初めまして!」
初めましての方のために自己紹介させていただきます。
自己紹介
22歳で愛知産業大学短期大学通信教育部で英語を学んでいます。
詳しくは2016のリレーブログの僕の記事をご覧ください。
残り6日!大学生の僕がWordFes Nagoya&WordBench Nagoyaに参加するようになるまでを書かせていただきます! | WordFes Nagoya 2016
今年の僕が登壇するセッションについて
WordPressのスキルを身につけるために、
PHPの勉強→WordPressの関数
と進むのが一般的で、僕もそうでした。
しかし、関数の扱い方を先に学んだ方が、テーマや、プラグインの中を前よりは読めるようになってるはずです。
もちろん、
配列やif文などの
基本的な構文
型
変数
定数
式
演算子
制御構造
関数
クラスとオブジェクト
名前空間
エラー
などなど
PHPの勉強は大分勉強しなくてはならないのは当たり前です。
ですが、関数から色々試して、繰り返してやっていくうちにスキルが身につくこともあります。
WordPressの初心者の方、僕も初心者ですが、
セッションのスライドや動画などを見て、実践してみて、WordPressに関する大きな一歩を踏んでください!
もちろん、「これからのWordPress × SSL on レンタルサーバ」の二の次でも構いません。
どんな人でも役に立てるようなセッションになるよう(理想)精一杯頑張ります!
予定
- なぜWordPressの関数から一歩踏むのか
- 準備(記事内でPHPを動かせるようにする)
- WordPressの関数を試してみよう!
- テンプレートタグ&条件分岐タグ
- フォーマット用関数
- 関数を定義する
- この先を踏むために
※今回は初心者の方でもできるよう、PHPを記事の中で実行できるプラグインを使いますが、
こちらはセキュリテイが低くなるため、本番環境ではやらないようにお願いいたします。
(スライド、セッション中にも伝えます)
実行委員Webサイトチームの一員として担当したこと
2016では
* サポーター追加
* セッション情報入力
* スライダーの入力
* 直せるところの修正
その前に
GitHub -> 自動デプロイをKatzさんに実装していただいたことで、グループでサイトを作るということが実現し感謝してます。
2017では
それでは、僕が今回担当したこと、長くなりますが、書いていきます。
1.WordPressのインストール
* /wp/ 配下にWPインストール
* プラグインとテーマをインストール
* プラグインは、古いバージョンのものをアップデート
* 更新したプラグインを Git にアップ
2.受付システム実装
CampTix Event Ticketing — WordPress プラグイン
こちらのCampTixという名のプラグインを例年使ってるようなためCampTixを使って実装してます。
- トップページに[参加申込]ボタンを付ける
- グローバルナビゲーションのメニューに[参加申込]追加
- サイドバーに受付ウィジェットを追加する
camptix.phpのチケットIDなど直に書いてましたが、
小田島さんが来年のためにカスタマイズしていただいてました!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// 受付用メールアドレスを設定 // 開催年を設定(毎年変更) $this_year = '2017'; // 宿泊のチケット ID を設定(毎年変更) $ticket_stay_id = 1230; // セッションのみのチケット ID を設定(毎年変更) $ticket_session_id = 1224; // 懇親会の振込名義人のカスタムフィールド ID(毎年変更) $ticket_party_tix_name = 1229; // 宿泊の振込名義人のカスタムフィールド ID(毎年変更) $ticket_stay_tix_name = 1232; |
CampTixの編集すべき camptix.php の場所
/wp/wp-content/plugins/camptix/camptix.php
実装完了したページはこちらです。
参加申し込み | WordFes Nagoya 2017 これから 〜未来へ繋ぐ〜
サイドバーにウィジェットというのは。
こういうものです。
見た目を整えるのにちょっと頑張りました。
ウィジェットのファイルの場所
/wp/wp-content/plugins/camptix/inc/class-camptix-widget.php
3.タイムテーブル詳細
完成したタイムテーブル詳細がこちらです。
2017からWordPress.orgのアカウントをカスタムフィールドから表示できるように
1 2 3 4 5 6 |
$wordpressorg =get_field('session_wordpress_org'); ---------- <?php endif; if ( $wordpressorg ) : ?> <a href="https://profiles.wordpress.org/<?php echo $wordpressorg; ?>" target="_blank" class="wordpressorg-icon">WordPress.org</a> |
content-session.php
/wp/wp-content/themes/wfn2017/SCSS/sessions.scss
アイコンはGoogleのAPIを使って、WordPress.orgのファビコンをお借りしました。
favicons (16×16) https://s2.googleusercontent.com/s2/favicons?domain_url=http://wordpress.org
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
.facebook-icon, .twitter-icon, .wordpressorg-icon, .website-icon { float: none; width: auto; padding: 3px 10px 3px 23px; } ---------- .wordpressorg-icon { background: url(../images/common/wordpressorg-icon) left center no-repeat; background-size: 20px auto; } |
SCSSなので是非、小石倉さんがやりがいを持っていただけると思い、分担しました。
完成したのがこちら
4.タイムテーブル一覧
今年は大幅にタイムテーブルが変わるため、
2016の状態ではダメで、課題がいっぱいでしたが、小田島さんのサポートのおかげで2017のタイムテーブルが出来上がりました!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
$ses_id = $session_args[0]->ID; ) $ses_tzs = get_the_terms( $ses_id, 'timezone' ); if ( false !== array_search( $ses_id, $ses_array ) ) { ); return; } elseif ( null != $ses_id ) { foreach ( $session_args as $session_key => $session ) { $ses_array[] = $ses_id; } if ( 1 < count( $ses_tzs ) ) { $rowspan = 'rowspan="' . count( $ses_tzs ) . '"'; } else { $rowspan = ''; } ?> ?> <td class="<?php echo esc_html( $stage->slug ); ?>" <?php echo $rowspan; ?>> <?php foreach ( $session_args as $session_key => $session ): ?> <dt> <dl> <dt> |
/wp/wp-content/themes/wfn2017/parts/supporter.php
5.スライダー
小石倉 → 魚住 → 小田島さん(とても助かりました)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
<div class="slider-container"> <ul class="bxslider"> <?php $args = array( 'post_type' => 'slider', 'posts_per_page' => -1, 'orderby' => 'rand', ); $slides = new WP_Query( $args ); while ( $slides->have_posts() ): $slides->the_post(); $url = get_field('wfn-slider-url'); $img = wp_get_attachment_image_src( get_field('wfn-slider-image'), 'full' ); if ( $url ): ?> <li> <a href="<?php echo esc_url( $url ); ?>"> <img src="<?php echo esc_url( $img[0] ); ?>" alt="<?php the_title(); ?>" title="<?php the_title(); ?>"> </a> </li> <?php else: ?> <li> <img src="<?php echo esc_url( $img[0] ); ?>" alt="<?php the_title(); ?>" title="<?php the_title(); ?>"> </li> <?php endif; endwhile; wp_reset_postdata(); ?> </ul> </div> <style> /* a.bx-pager-link :active { color: #ea5514; } */ .slider-container { padding: 20px 0; background: #fff; } .bx-wrapper .bx-pager.bx-default-pager a:hover, .bx-wrapper .bx-pager.bx-default-pager a.active { background: #ea5514; } .bx-wrapper .bx-pager.bx-default-pager a { background: #DCDDDD; } .bx-wrapper{ margin: 0 auto !important;} .bx-viewport { left: 0 !important; /*height: auto !important;*/ border: none !important; box-shadow: none !important; } .bx-pager { display: none !important; } </style> <script type="text/javascript"> jQuery(document).ready(function(){ jQuery('.bxslider').bxSlider({ auto: true, //margin: 0 auto 60px; slideWidth: 486, slideMargin: 30, slideHeight: 333, minSlides: 1, maxSlides: 2, infiniteLoop: true, speed: 1000, moveSlides: 1, //captions: true, speed: 300, pause: 6000, pager: false, controls: false, //pager: true, //controls: true, autoControls: false, autoHover: true, // マウスオーバー時に自動遷移を停止する randomStart: true, // スライドさせる要素の大きさ(幅)を指定する // デフォルトでは100%になり、スライドエリアと同じサイズになる //slideWidth: 0, }); }); </script> |
/wp/wp-content/themes/wfn2017/header.php
土台を僕が作り
slideMargin: 30,など小石倉さんに手伝っていただきました。
小石倉さんのWordPresでのjQueryデビュー!
そして、小田島さんが、例年通り管理画面からスライド画像を追加、リンクを貼ることができるようにしていただきました!
6.一覧ボタン追加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<div class="list-button"> <?php if ( is_singular('topics') ) : ?> <style> .btn:hover {<br /> background: #e85524;<br /> text-decoration: none;<br /> color: white;<br /> font-size: 3rem;<br /> }<br /> </style> <p class="text-center"><a class="btn btn-warning btn-lg" href="https://2017.wordfes.org/topics/"><i class="glyphicon glyphicon-flag"></i> 一覧へ</a></p> <?php else : ?> <style> .btn:hover {<br /> background: #e85524;<br /> text-decoration: none;<br /> color: white;<br /> font-size: 3rem;<br /> }<br /> </style> <p class="text-center"><a class="btn btn-warning btn-lg" href="https://2017.wordfes.org/blog/"><i class="glyphicon glyphicon-flag"></i> 一覧へ</a></p> <?php endif; ?> </div> |
topicsというNEWSのカスタム投稿タイプにはその一覧ボタン、
それ以外のリレーブログにはその一覧ボタンを表示するようにしました。
WordFes Nagoya 2017のサイトは進歩してます!
7.固定ページの整理
固定ページは追加していくと、どんどんごちゃごちゃになってしまうものです。
整理するために、
1.親の固定ページを追加し、
2.固定ページ属性[順序]を入力して順番に並び替える
GoogleのスプレットシートにサイトマップをWebサイトグループの方に作っていただいたものがあるので、
そちらに合わせて、1,2を行い整理しました。
結果
固定ページが順番に並び、親子もでき、大変見やすくなりました!
結果の詳細はこちら
追加したもの
・募集(親ページ)
非公開にしたもの
・参加申し込み(重複分)
(ゴミ箱に入れてもOKです)
変更
・ライトニングトーク
前 https://2017.wordfes.org/lightening-talk/
後 https://2017.wordfes.org/wanted/lightening-talk/
・ランチワングランプリ(仮)
前 https://2017.wordfes.org/lunch-enquete/
後 https://2017.wordfes.org/wanted/lunch-enquete/
・サポーター募集 ページ順序230から1020へ
変更できないもの
・お知らせ(カスタム投稿タイプな為)
・開催概要
8.修正したところ
altタグが2016の状態だったのに気付き急遽変更しました。
サイボウズでご指摘をいただいたのを修正
他にも修正したところがありますが、ざっとこのくらいですね。
最後に
WordFes Nagoya 2017はタイトルにあるように僕自身成長したもので大変感謝してます。
今年のWebサイトチームについては、Katzさんのリレーブログが出ますので、そちらを見ていただいて、分かるように、
今回は分担作業があり、僕自身上記にあることをやり、WordPressのスキルが向上しました。
そして、新しく二人が加わり、その人と話している時間も有意義な時間でした。
この勢いで、テーマ作成やプラグイン作成、翻訳など、どんどんやっていこうと思います。
もし何か一つでも、WordPressに関するものができ、貢献できたとしたら、WordFes Nagoyaのおかげです。
ということで、最後に、これだけ成長できたのに感謝なのと、
やる気が上げてくれた最高の実行委員の方々のおかげでここまで出来ました大変感謝してます。
小田島さんが僕ではできないことをフォローしていただいたことも感謝します。
それでは皆さん、WordFes Nagoya 2017を楽しんでください!