ブログ運営

【JINカスタマイズ】タイムライン機能(ステップフロー)を表示させる方法

JIN タイムライン機能 ステップ

 

大好きで便利なJINですが、記事を書くにあたって使いたい機能がありました。

こはる
こはる
ステップ手順をわかりやすく表示するアレがほしい・・・!

登録の手順や、家計管理のステップなど必要な場面がたくさん!

 

ずっと調べていたのですが、検索語句が合わずに何カ月もたってしまいました( ;∀;)

これ「タイムライン機能」っていうんですね。(ずっとステップタグとかで調べてた)

 

タイムライン機能を利用するとこのようになります。

パソコン版
タイムライン機能 JIN

 

スマホだと「ステップ」の表示位置が変わります。

スマホ版
JIN タイムライン機能

参考記事:【家計の見直し堂】プロに無料でやってもらえるのに固定費が安くなるって本当?

 

この記事に記載しているコードは、わいひらさんの『寝ログ』より参考にさせていただいたものを主体にしています。

 

JINで実装すると気になるところや、ズレが出てしまったところはあるふノート』を運営する、あるふぃーるさんが解決策を教えてくださいました(*^^*)

こちらのレシピ記事でタイムライン機能を使用されています。

同じJINユーザーの参考にすこしでもなればいいなと思います。

また、訂正箇所やアドバイスなどありましたら、教えていただけると嬉しいです!

準備すること

タイムライン機能を表示するには

  • style.css
  • function.php

これらをさわるのでバックアップをしっかり取ってくださいね。

またカスタマイズに関しては自己責任でお願いします。

 

バックアップの取り方は2種類あり

  • プラグイン『BackWPup』
  • FTPソフト『FileZilla』

どちらもサルワカさんの記事で勉強しました。

サーバーがロリポップ!で、FTPソフトと接続できない場合

ロリポップ!管理画面より『WAF設定』をオフにしてください。

\ こはらいふの使用サーバー /
ロリポップ!

書き込むコード

カスタマイズは「子テーマ」で行ってくださいね。

JINの子テーマはこちら>>公式子テーマDLページ

子テーマを有効化したら、ダッシュボード>外観>テーマの編集の順にひらいてコードを書き込みます。

function.phpにコピペ

以下をコピーして貼りつけ、『ファイルを更新』して完了!

//timelineショートコードコンテンツ内に余計な改行や文字列が入らないように除外
if ( !function_exists( 'remove_wrap_shortcode_wpautop' ) ):
function remove_wrap_shortcode_wpautop($shortcode, $content){
  //tiショートコードのみを抽出
  $pattern = '/\['.$shortcode.'.*?\].*?\[\/'.$shortcode.'\]/is';
  if (preg_match_all($pattern, $content, $m)) {
    $all = null;
    foreach ($m[0] as $code) {
      $all .= $code;
    }
    return $all;
  }
}
endif;
 
//タイムラインの作成(timelineショートコード)
add_shortcode('timeline', 'timeline_shortcode');
if ( !function_exists( 'timeline_shortcode' ) ):
function timeline_shortcode( $atts, $content = null ){
  extract( shortcode_atts( array(
    'title' => null,
  ), $atts ) );
  $content = remove_wrap_shortcode_wpautop('ti', $content);
  $content = do_shortcode( shortcode_unautop( $content ) );
  $title_tag = null;
  if ($title) {
    $title_tag = '<div class="timeline-title">'.$title.'</div>';
  }
  $tag = '<div class="timeline-box">'.
            $title_tag.
            '<ul class="timeline">'.
              $content.
            '</ul>'.
          '</div>';
  return apply_filters('timeline_tag', $tag);
}
endif;
 
//タイムラインアイテム作成(タイムラインの中の項目)
add_shortcode('ti', 'timeline_item_shortcode');
if ( !function_exists( 'timeline_item_shortcode' ) ):
function timeline_item_shortcode( $atts, $content = null ){
  extract( shortcode_atts( array(
    'title' => null,
    'label' => null,
  ), $atts ) );
  $title_tag = null;
  if ($title) {
    $title_tag = '<div class="timeline-item-title">'.$title.'</div>';
  }
 
  $content = do_shortcode( shortcode_unautop( $content ) );
  $tag = '<li class="timeline-item">'.
            '<div class="timeline-item-label">'.$label.'</div>'.
            '<div class="timeline-item-content">'.
              '<div class="timeline-item-title">'.$title.'</div>'.
              '<div class="timeline-item-snippet">'.$content.'</div>'.
            '</div>'.
          '</li>';
  return apply_filters('timeline_item_tag', $tag);
}
endif;

style.cssにコピペ

こちらもコピーして貼りつけ、『ファイルを更新』して完了!

/*********************************
* タイムライン
*********************************/
.timeline-box {
  margin-bottom: 20px;
  border: 1px solid #ccc; /* 枠なしの場合消す */
  border-radius: 4px;
  padding: 16px 5px;
  box-sizing: border-box;
}
 
.timeline-box *{
  box-sizing: border-box;
}
 
.timeline-box .timeline {
  list-style: none;
  padding: 0;
  margin: 0;
}
 
.timeline-title {
  font-weight: bold;
  font-size: 1.1em;
  text-align: center;
}
 
.timeline > li {
  margin-bottom: 60px;
}
 
.timeline > li.timeline-item {
  overflow: hidden;
  margin: 0;
  position: relative;
}
 
.timeline-item-label {
  width: 110px;
  float: left;
  padding-top: 18px;
  text-align: right;
  padding-right: 1em;
  font-size: 14px;
}
 
.timeline-item-title {
  font-weight: bold;
}
 
.timeline-item-content {
  width: calc(100% - 110px);
  float: left;
  padding: .8em 1.4em;
  border-left: 3px #e5e5d1 solid;
}
 
.timeline-item:before {
  content: '';
  width: 12px;
  height: 12px;
  background: #6fc173;
  position: absolute;
  left: 130px;
  top: 24px;
  border-radius: 100%;
}
 
/* for Smartphone */
@media screen and (max-width: 480px) {
  .timeline-box .timeline {
    padding-left: 10px;
	border: 0;
	padding: 16px 0px 16px 10px ;
	font-size: smaller;
  }
 
  .timeline > li.timeline-item {
    overflow: visible;
    border-left: 3px #e5e5d1 solid;
  }
 
  .timeline-item-label {
    width: auto;
    float: none;
    text-align: left;
    padding-left: 4px;
  }
 
  .timeline-item-content {
    width: auto;
    padding: 4px;
    float: none;
    border: none;
  }
 
  .timeline-item::before {
    left: -12px;
    top: 19px;
    width: 21px;
    height: 21px;
  }
}

 

枠がない表示にしたい方は、6行目にあたるこの部分を消してください。

border: 1px solid #ccc; /* 枠なしの場合消す */

ひとつ更新した時点で、サイトに不具合が起きていないか確認しておくと安心ですね!

AddQuicktagにコードを登録

つぎのコードをAddQuicktagに登録しておくと便利です。

 

AddQuicktagに登録すればビジュアル画面での編集で反映されますが、直接記事に打ち込む場合はテキスト画面でおこなってください。

 

記事を作成しているときの画面はこんな感じ。

JIN タイムライン機能

キャッシュの削除と再読み込み

ファイルの更新をしたとき、カスタマイズが反映されない場合はキャッシュの削除をおこないましょう。

キャッシュ系プラグインを有効化している方は、そちらも確認してくださいね。

キャッシュの削除と再読み込みの仕方
  • Chromeは『Ctrl+F5』
  • Macは『Command + Shift + R』
  • プラグイン『WP Super Cache』をつかっている方は、キャッシング設定の停止・利用も確認

まとめ

カスタマイズの手順をザッとおさらい!

3ステップで完了
  1. function.phpにコピペ
  2. style.cssにコピペ(枠無しの場合、指定の行を消す)
  3. ショートコードをAddQuicktagに登録

わたしが利用しているテーマはJINのみなので、タイムライン機能のないほかテーマでの互換性は確認できていませんm(__)m

 

記事にするにあたって再入力してチェックしなおしましたが、カスタマイズ前には必ずバックアップをお願いします。

 

手順説明、時系列がきれいにまとまる「あの機能が欲しい」と思っていた方は、ぜひお試しを(*^^*)

 

テーマにJINを選んだ理由は「JINはパソコン知識0でもすぐ記事が書ける」をご覧くださいね。

Word Press初心者におすすめのテーマ『JIN』パソコン知識0でもすぐ記事が書ける このブログはWordpress有料テーマの「JIN」をつかっています。 わたしは元々パソコンの知識が全くと言っていいほどあ...

 

 

こはらいふは家計管理をはじめ
\ 節約術を中心に更新しています /

やりくり・家計管理の方法についてまとめた記事は「貯金を成功させるための家計管理術」を。

家計簿など支出に関することは「【年収400万円】4人家族の家計|収入・支出・節約に関するまとめ記事」をお読みください。