/** * @group wp_restore_post_revision */ public function test_wp_restore_post_revision() { // 投稿のメタデータ add_post_meta($this->post_id, 'text', 'text'); add_post_meta($this->post_id, 'checkbox', 'check'); add_post_meta($this->post_id, 'text3', 'loop-text'); // リビジョンのメタデータ add_metadata('post', $this->revision_id, 'text', 'text-2'); add_metadata('post', $this->revision_id, SCF_Config::PREFIX . 'repeat-multiple-data', array('checkbox3' => array(1, 2))); add_metadata('post', $this->revision_id, 'checkbox3', 'loop-check-1'); add_metadata('post', $this->revision_id, 'checkbox3', 'loop-check-2'); add_metadata('post', $this->revision_id, 'checkbox3', 'loop-check-3'); $Revision = new Smart_Custom_Fields_Revisions(); $Revision->wp_restore_post_revision($this->post_id, $this->revision_id); $this->assertEquals('text-2', SCF::get('text', $this->post_id)); $this->assertSame(array(), SCF::get('checkbox', $this->post_id)); $this->assertEquals(array(array('loop-check-1'), array('loop-check-2', 'loop-check-3')), SCF::get('checkbox3', $this->post_id)); }
/** * 渡されたリビジョンからデータをリストア * * @param WP_Post $revision */ public function restore($revision) { switch ($this->meta_type) { case 'post': $object = get_post($this->id); break; default: $object = null; } if (is_null($object) || !is_a($revision, 'WP_Post')) { return; } $settings = SCF::get_settings($object); foreach ($settings as $Setting) { $fields = $Setting->get_fields(); foreach ($fields as $Field) { $field_name = $Field->get('name'); $this->delete($field_name); $value = SCF::get($field_name, $revision->ID); if (is_array($value)) { foreach ($value as $val) { if (is_array($val)) { foreach ($val as $v) { // ループ内複数値項目 $this->add($field_name, $v); } } else { // ループ内単一項目 or ループ外複数値項目 $this->add($field_name, $val); } } } else { // ループ外単一項目 $this->add($field_name, $value); } } } $repeat_multiple_data = SCF::get_repeat_multiple_data($revision); $repeat_multiple_data_name = SCF_Config::PREFIX . 'repeat-multiple-data'; $this->delete($repeat_multiple_data_name); $this->update($repeat_multiple_data_name, $repeat_multiple_data); }
/** * @group get */ public function test_get__繰り返し内の複数値項目() { // ループ内のチェックボックス(複数値項目)は必ずこのメタデータを持つ update_post_meta($this->post_id, SCF_Config::PREFIX . 'repeat-multiple-data', array('checkbox3' => array(1, 2))); add_post_meta($this->post_id, 'checkbox3', 1); add_post_meta($this->post_id, 'checkbox3', 2); add_post_meta($this->post_id, 'checkbox3', 3); $this->assertEquals(array(array(1), array(2, 3)), SCF::get('checkbox3', $this->post_id)); }
// $vc_store_url .= "&ec_code=038p6"; // 1ページ毎の結果件数 $vc_store_url .= "&results_per_page=25"; // ソートの属性 // “price”,“fee”, “score” $vc_store_url .= "&sort_by=" . urlencode("score"); // 商品 を売上ランク順にソート // rankはsort_by及びsort_orderより優勢に働きます。rankが指定された場合、商品は売上ランクの高い順から低い順にソートされ、sort_by及びsort_orderは無視されます。 // $vc_store_url .= "&rank=" . urlencode("monthly"); // 検索結果のフォーマット $vc_store_url .= "&format=" . urlencode("json"); $vc_store_xml = json_decode(transient_remote_get($vc_store_url)); // ショップの注意事項 $vc_store_Notice = '※「ショップ etc」は、複数の通販サイトをまとめています。商品は、複数の通販サイトより厳選しています。'; $vc_store_Notice .= 'ランキングは複数の通販サイト全体で<strong class="text-danger">もっとも関連性の高い順</strong>です。'; if (SCF::get('shipOverseasFlag') == "1") { $vc_store_Notice .= '海外発送は、商品を取り扱っているストア(店舗)に確認してください。'; } get_header(); ?> <div id="itemsearch"> <div class="container"> <?php get_template_part('breadcrumb'); ?> <div class="row"> <div class="col-xs-12 col-sm-12 col-md-2"> <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> <div class="panel panel-default">
/** * false ならリビジョンとして保存される * * @param bool $check_for_changes * @param WP_Post $last_revision 最新のリビジョン * @param WP_Post $post 現在の投稿 * @return bool */ public function wp_save_post_revision_check_for_changes($check_for_changes, $last_revision, $post) { $post_meta = array(); $p = get_post_custom($post->ID); foreach ($p as $key => $value) { $v = SCF::get($key); if (!is_null($v)) { $post_meta[$key][] = $v; } } if (isset($_POST[SCF_Config::NAME])) { $serialized_post_meta = serialize($post_meta); $serialized_send_data = $_POST[SCF_Config::NAME]; if ($serialized_post_meta != $serialized_send_data) { return false; } } return true; }
<li><a href="/artists/">ARTISTS</a></li> <li><a href="/events/">EVENTS</a></li> <li><a href="/music/">MUSIC</a></li> <li><a href="/blog/">BLOG</a></li> <li><a href="#">SHOP</a></li> </ul> </div> </nav> </header> <div class="u-bg-top"> <section class="container u-pt60"> <h1 class="m-heading-sub">ARTISTS</h1> <div class="l-row row u-mt30"> <?php $repeat_group = SCF::get('gp-artists'); foreach ($repeat_group as $field_name => $field_value) { ?> <div class="col m4 s6"> <section class="card m-card"> <a href="<?php echo esc_html($field_value['cf-cateUrl']); ?> "> <div class="m-card-image"> <?php echo wp_get_attachment_image($field_value['cf-artistImage'], 'medium'); ?> </div> </a> <h1 class="m-heading-content">
<?php /* Template Name: オークション検索 */ get_template_part('class-yahoauc-apiurl'); get_template_part('class-iteminfo'); $appid = ".Dvbnu6xg6490.P349ol50qReUlkYnjo4pL8CRksW1yCJYgjOhR80r_kCTIDoZbTjB6KdOc-"; $api_url = new YahoAuc_ApiUrl($appid); $api_url->setKeyWord(SCF::get('auckeyword')); // ヤフオクのHTML生成用のクラス (sid,pid) $yahoauc_item = new Item_Info('3201717', '883850776'); $yahoauc_item->setUrl($api_url->getUrl()); get_header(); ?> <div id="itemsearch"> <div class="container"> <?php get_template_part('breadcrumb'); ?> <div class="row"> <div class="col-xs-12 col-sm-12 col-md-2"> <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> <div class="panel panel-default"> <div class="panel-heading" role="tab" id="headingOne"> <h4 class="panel-title"> <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">家庭用の焼き鳥</a> </h4> </div> <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
/** * @group restore */ public function test_restore__revisionのデータを復元() { $POST = $this->_return_post_data_for_save(SCF_Config::NAME); $this->Meta_revision->save($POST); $this->Meta_post->restore(get_post($this->revision_id)); $this->assertEquals(array(1, 2), SCF::get('checkbox', $this->post_id)); $this->assertEquals(array(array(1, 2), array(2, 3)), SCF::get('checkbox3', $this->post_id)); }
</p> </div> <div class="card-action"> <div class="card-action-string"> <p> 下記『受け取りボタン』を選択、または、『QRコード』をtixeeboxアプリで読み込むとチケットがお受取りいただけます。 </p> <span class="m-alert"> ※『受け取りボタン』を選択する前にtixeeboxアプリのインストール・利用登録をお願いします。<br> ※チケット取得のためにパスワードを求められる場合がございます。各主催からご案内しているパスワード二つを入力し、チケットを取得してください。 </span> </div> <section class="col-md-12 u-mb30 u-mt60"> <?php $cf_tableTicket = SCF::get('cf_tableGetTicket'); foreach ($cf_tableTicket as $field_name => $field_value) { $ticket_title = esc_html($field_value['cf_tableGetTicket_title']); $ticket_iphone = esc_html($field_value['cf_tableGetTicket_urlIphone']); $ticket_android = esc_html($field_value['cf_tableGetTicket_urlAndroid']); ?> <h1 class="heading-b"><?php echo $ticket_title; ?> </h1> <table class="table table-url table-bordered"> <thead> <tr> <th>端末</th> <th>イベント</th> <th>受け取りボタン / QRコード</th>
// 1:300m、2:500m、3:1000m、4:2000m、5:3000m $guru_url .= "&range=5"; // ソート順: 1:店名かな順、2:ジャンルコード順、3:小エリアコード順、4:おススメ順 // ※ 位置検索の場合、「4:オススメ順」以外は指定に関係なく、強制的に距離順でソートされます。 // ぐるなびは、レスポンスデータのソート順 指定なし:ぐるなびソート順 1:店舗名、2:業態 // $guru_url .= "&sort=" . SCF::get( 'order' ); // ヒット件数 $guru_url .= "&hit_per_page=20"; // フリーワード検索 $guru_url .= "&freeword=" . urlencode(SCF::get('keyword')); // ランチ営業あり $guru_url .= "&lunch=" . SCF::get('lunch'); // 個室あり $guru_url .= "&private_room=" . SCF::get('private_room'); // 食べ放題 $guru_url .= "&buffet=" . SCF::get('free_food'); // WebAPI and Cache $guru_xml = new SimpleXMLElement(transient_remote_get($guru_url)); // 補足事項 $guru_shopNotice = "※ランキングは、「ぐるなび」のおすすめ順に基づいて作成しています。"; get_header(); ?> <div id="shopsearch"> <div class="container"> <?php get_template_part('breadcrumb'); ?> <div class="row"> <div class="col-xs-12 col-sm-12 col-md-3"> <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> <div class="panel panel-default">
/** * @group get */ public function test_get() { $this->assertNull(SCF::get('text', false)); }