当前位置: 首页>>代码示例>>PHP>>正文


PHP cmb2_options函数代码示例

本文整理汇总了PHP中cmb2_options函数的典型用法代码示例。如果您正苦于以下问题:PHP cmb2_options函数的具体用法?PHP cmb2_options怎么用?PHP cmb2_options使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了cmb2_options函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: test_empty_field_with_empty_object_id

 public function test_empty_field_with_empty_object_id()
 {
     $field = new CMB2_Field(array('field_args' => $this->field_args));
     // data should be empty since we have no object id
     $this->assertEmpty($field->get_data());
     // add some xss for good measure
     $dirty_val = 'test<html><stuff><script>xss</script><a href="http://xssattackexamples.com/">Click to Download</a>';
     $cleaned_val = sanitize_text_field($dirty_val);
     // Make sure it sanitizes as expected
     $this->assertEquals($cleaned_val, $field->sanitization_cb($dirty_val));
     // Sanitize/store the field
     $this->assertTrue($field->save_field($dirty_val));
     // Retrieve saved value(s)
     $this->assertEquals($cleaned_val, cmb2_options(0)->get($field->id()));
     $this->assertEquals(array('test_test' => $cleaned_val), cmb2_options(0)->get_options());
 }
开发者ID:asabetta,项目名称:StarterSlab,代码行数:16,代码来源:test-cmb-field.php

示例2: save_fields

 /**
  * Loops through and saves field data
  * @since  1.0.0
  * @param  int    $object_id    Object ID
  * @param  string $object_type  Type of object being saved. (e.g., post, user, or comment)
  * @param  array  $data_to_save Array of key => value data for saving. Likely $_POST data.
  */
 public function save_fields($object_id = 0, $object_type = '', $data_to_save)
 {
     $this->data_to_save = $data_to_save;
     $object_id = $this->object_id($object_id);
     $object_type = $this->object_type($object_type);
     $this->process_fields();
     // If options page, save the updated options
     if ('options-page' == $object_type) {
         cmb2_options($object_id)->set();
     }
     /**
      * Fires after all fields have been saved.
      *
      * The dynamic portion of the hook name, $object_type, refers to the metabox/form's object type
      * 	Usually `post` (this applies to all post-types).
      *  	Could also be `comment`, `user` or `options-page`.
      *
      * @param int    $object_id   The ID of the current object
      * @param array  $cmb_id      The current box ID
      * @param string $updated     All fields that were updated.
      *                            Will only include fields that had values change.
      * @param array  $cmb         This CMB2 object
      */
     do_action("cmb2_save_{$object_type}_fields", $object_id, $this->cmb_id, $this->updated, $this);
 }
开发者ID:kps3,项目名称:wordpress-base,代码行数:32,代码来源:CMB2.php

示例3: remove_data

 /**
  * Removes/updates metadata/option data
  * @since  1.0.1
  * @param  string $old Old value
  */
 public function remove_data($old = '')
 {
     $a = $this->data_args(array('old' => $old));
     /**
      * Filter whether to override removing of meta value.
      * Returning a non-null value will effectively short-circuit the function.
      *
      * @since 2.0.0
      *
      * @param null|bool $delete Whether to allow metadata deletion of the given type.
      * @param array $args       Array of data about current field including:
      *                              'type'     : Current object type
      *                              'id'       : Current object ID
      *                              'field_id' : Current Field ID
      *                              'repeat'   : Whether current field is repeatable
      *                              'single'   : Whether to save as a
      *                              					single meta value
      * @param array $field_args All field arguments
      * @param CMB2_Field object $field This field object
      */
     $override = apply_filters('cmb2_override_meta_remove', null, $a, $this->args(), $this);
     /**
      * Filter whether to override removing of meta value.
      *
      * The dynamic portion of the hook, $a['field_id'], refers to the current
      * field id paramater. Returning a non-null value
      * will effectively short-circuit the function.
      *
      * @since 2.0.0
      *
      * @param null|bool $delete Whether to allow metadata deletion of the given type.
      * @param array $args       Array of data about current field including:
      *                              'type'     : Current object type
      *                              'id'       : Current object ID
      *                              'field_id' : Current Field ID
      *                              'repeat'   : Whether current field is repeatable
      *                              'single'   : Whether to save as a
      *                              					single meta value
      * @param array $field_args All field arguments
      * @param CMB2_Field object $field This field object
      */
     $override = apply_filters("cmb2_override_{$a['field_id']}_meta_remove", $override, $a, $this->args(), $this);
     // If no override, remove as usual
     if (null !== $override) {
         return $override;
     } elseif ('options-page' === $a['type'] || empty($a['id'])) {
         return cmb2_options($a['id'])->remove($a['field_id']);
     }
     // Remove metadata
     return delete_metadata($a['type'], $a['id'], $a['field_id'], $old);
 }
开发者ID:k2jysy,项目名称:kshop,代码行数:56,代码来源:CMB2_Field.php

示例4: remove_data

 /**
  * Removes/updates metadata/option data
  * @since  1.0.1
  * @param  string $old Old value
  */
 public function remove_data($old = '')
 {
     $a = $this->data_args();
     return 'options-page' === $a['type'] ? cmb2_options($a['id'])->remove($a['field_id']) : delete_metadata($a['type'], $a['id'], $a['field_id'], $old);
 }
开发者ID:gurustump,项目名称:cyclegarden,代码行数:10,代码来源:CMB2_Field.php

示例5: cmb2_update_option

/**
 * A helper function to update an option in a CMB2 options array
 * @since  2.0.0
 * @param  string  $option_key Option key
 * @param  string  $field_id   Option array field key
 * @param  mixed   $value      Value to update data with
 * @param  boolean $single     Whether data should not be an array
 * @return boolean             Success/Failure
 */
function cmb2_update_option($option_key, $field_id, $value, $single = true)
{
    if (cmb2_options($option_key)->update($field_id, $value, false, $single)) {
        return cmb2_options($option_key)->set();
    }
    return false;
}
开发者ID:jrajalu,项目名称:myxon,代码行数:16,代码来源:helper-functions.php

示例6: test_class_getters

 public function test_class_getters()
 {
     $this->assertInstanceOf('CMB2_Ajax', cmb2_ajax());
     $this->assertInstanceOf('CMB2_Utils', cmb2_utils());
     $this->assertInstanceOf('CMB2_Option', cmb2_options('test'));
 }
开发者ID:Makenrro,项目名称:repos,代码行数:6,代码来源:test-cmb-core.php

示例7: save_fields

 /**
  * Loops through and saves field data
  * @since  1.0.0
  * @param  int    $object_id   Object ID
  * @param  string $object_type Type of object being saved. (e.g., post, user, or comment)
  */
 public function save_fields($object_id = 0, $object_type = '', $_post)
 {
     $object_id = $this->object_id($object_id);
     $object_type = $this->object_type($object_type);
     $this->prop('show_on', array('key' => false, 'value' => false));
     // save field ids of those that are updated
     $this->updated = array();
     foreach ($this->prop('fields') as $field_args) {
         if ('group' == $field_args['type']) {
             $this->save_group($field_args);
         } elseif ('title' == $field_args['type']) {
             // Don't process title fields
             continue;
         } else {
             // Save default fields
             $field = new CMB2_Field(array('field_args' => $field_args, 'object_type' => $object_type, 'object_id' => $object_id));
             $field->save_field($_post);
         }
     }
     // If options page, save the updated options
     if ($object_type == 'options-page') {
         cmb2_options($object_id)->set();
     }
     /**
      * Fires after all fields have been saved.
      *
      * The dynamic portion of the hook name, $object_type, refers to the metabox/form's object type
      * 	Usually `post` (this applies to all post-types).
      *  	Could also be `comment`, `user` or `options-page`.
      *
      * @param int    $object_id   The ID of the current object
      * @param array  $cmb_id      The current box ID
      * @param string $updated     All fields that were updated.
      *                            Will only include fields that had values change.
      * @param array  $cmb         This CMB2 object
      */
     do_action("cmb2_save_{$object_type}_fields", $object_id, $this->cmb_id, $this->updated, $this);
 }
开发者ID:jasonHalsey,项目名称:qandc_blog-child,代码行数:44,代码来源:CMB2.php

示例8: oembed_cache_set

 /**
  * Saves the cached oEmbed value to relevant object metadata (vs postmeta)
  *
  * @since  1.3.0
  * @param  string  $meta_key   Postmeta's key
  * @param  mixed   $meta_value Value of the postmeta to be saved
  */
 public function oembed_cache_set($meta_key, $meta_value)
 {
     // Cache the result to our metadata
     return 'options-page' !== $this->object_type ? update_metadata($this->object_type, $this->object_id, $meta_key, $meta_value) : cmb2_options($this->object_id)->update($this->embed_args['cache_key'], $meta_value, true);
 }
开发者ID:asabetta,项目名称:StarterSlab,代码行数:12,代码来源:CMB2_Ajax.php

示例9: clean_stale_options_page_oembeds

 /**
  * Hooks in when options-page data is saved to clean stale
  * oembed cache data from the option value.
  * @since  2.2.0
  * @param  string  $option_key The options-page option key
  * @return void
  */
 public static function clean_stale_options_page_oembeds($option_key)
 {
     $options = cmb2_options($option_key)->get_options();
     if (is_array($options)) {
         $ttl = apply_filters('oembed_ttl', DAY_IN_SECONDS, '', array(), 0);
         $now = time();
         $modified = false;
         foreach ($options as $key => $value) {
             // Check for cached oembed data
             if (0 === strpos($key, '_oembed_time_')) {
                 $cached_recently = $now - $value < $ttl;
                 if (!$cached_recently) {
                     $modified = true;
                     // Remove the the cached ttl expiration, and the cached oembed value.
                     unset($options[$key]);
                     unset($options[str_replace('_oembed_time_', '_oembed_', $key)]);
                 }
             } elseif ('{{unknown}}' === $value) {
                 $modified = true;
                 unset($options[$key]);
             }
         }
     }
     // Update the option and remove stale cache data
     if ($modified) {
         $updated = cmb2_options($option_key)->set($options);
     }
 }
开发者ID:jrfnl,项目名称:CMB2,代码行数:35,代码来源:CMB2_Ajax.php

示例10: cmb2_get_option

/**
 * A helper function to get an option from a CMB options array
 * @since  1.0.1
 * @param  string  $option_key Option key
 * @param  string  $field_id   Option array field key
 * @return array               Options array or specific field
 */
function cmb2_get_option($option_key, $field_id = '')
{
    return cmb2_options($option_key)->get($field_id);
}
开发者ID:emzo,项目名称:Recipe-Hero,代码行数:11,代码来源:helper-functions.php

示例11: update_data

 /**
  * Updates metadata/option data
  * @since  1.0.1
  *
  * @param  mixed $new_value Value to update data with
  * @param  bool $single Whether data is an array (add_metadata)
  */
 public function update_data($new_value, $single = true)
 {
     $a = $this->data_args(array('single' => $single));
     $a['value'] = $a['repeat'] ? array_values($new_value) : $new_value;
     /**
      * Filter whether to override saving of meta value.
      * Returning a non-null value will effectively short-circuit the function.
      *
      * @since 2.0.0
      *
      * @param null|bool $check Whether to allow updating metadata for the given type.
      *
      * @param array $args {
      *     Array of data about current field including:
      *
      * @type string $value The value to set
      * @type string $type The current object type
      * @type int $id The current object ID
      * @type string $field_id The ID of the field being updated
      * @type bool $repeat Whether current field is repeatable
      * @type bool $single Whether current field is a single database row
      * }
      *
      * @param array $field_args All field arguments
      *
      * @param CMB2_Field object $field This field object
      */
     $override = apply_filters('cmb2_override_meta_save', null, $a, $this->args(), $this);
     /**
      * Filter and parameters are documented for 'cmb2_override_meta_save' filter (above).
      *
      * The dynamic portion of the hook, $a['field_id'], refers to the current
      * field id paramater. Returning a non-null value
      * will effectively short-circuit the function.
      *
      * @since 2.0.0
      */
     $override = apply_filters("cmb2_override_{$a['field_id']}_meta_save", $override, $a, $this->args(), $this);
     // If override, return that
     if (null !== $override) {
         return $override;
     }
     // Options page handling (or temp data store)
     if ('options-page' === $a['type'] || empty($a['id'])) {
         return cmb2_options($a['id'])->update($a['field_id'], $a['value'], false, $a['single']);
     }
     // Add metadata if not single
     if (!$a['single']) {
         return add_metadata($a['type'], $a['id'], $a['field_id'], $a['value'], false);
     }
     // Delete meta if we have an empty array
     if (is_array($a['value']) && empty($a['value'])) {
         return delete_metadata($a['type'], $a['id'], $a['field_id'], $this->value);
     }
     // Update metadata
     return update_metadata($a['type'], $a['id'], $a['field_id'], $a['value']);
 }
开发者ID:chirox,项目名称:quest,代码行数:64,代码来源:CMB2_Field.php

示例12: sanitize_cmb_fields

 /**
  * Uses CMB2 field processing to sanitize fields
  * (Only applies if cmb_metabox_config parameter exists)
  *
  * @since  0.1.0
  *
  * @return array Array of sanitized fields
  */
 public function sanitize_cmb_fields()
 {
     $cmb = $this->get_cmb_object();
     $cmb->data_to_save = $_REQUEST;
     $object_id = $cmb->object_id($this->button_slug);
     $cmb->object_type('options-page');
     $cmb->process_fields();
     // output buffer on the action so we don't pollute our JSON response
     ob_start();
     // Preserve CMB action
     do_action('cmb2_save_options-page_fields', $object_id, $cmb->cmb_id, $cmb->updated, $cmb);
     ob_end_clean();
     $updated_fields = cmb2_options($object_id)->get_options();
     $cmb_config = $this->get_cmb_config();
     $whitelist_keys = wp_list_pluck($cmb_config['fields'], 'id');
     $whitelist = array();
     // Keep only the form values that correspond to the CMB2 fields
     foreach ($whitelist_keys as $key) {
         $value = isset($updated_fields[$key]) && !empty($updated_fields[$key]) ? $updated_fields[$key] : '';
         // Don't keep empty values
         if ($value) {
             // Make checkbox values boolean
             $whitelist[$key] = 'on' == $value ? true : $value;
         }
     }
     return $this->filter_form_fields($whitelist, $updated_fields);
 }
开发者ID:psflannery,项目名称:seventeen_functionality,代码行数:35,代码来源:cmb2-shortcode-button.php

示例13: save_fields

 /**
  * Loops through and saves field data
  * @since  1.0.0
  * @param  int    $object_id    Object ID
  * @param  string $object_type  Type of object being saved. (e.g., post, user, or comment)
  * @param  array  $data_to_save Array of key => value data for saving. Likely $_POST data.
  */
 public function save_fields($object_id = 0, $object_type = '', $data_to_save = array())
 {
     // Fall-back to $_POST data
     $this->data_to_save = !empty($data_to_save) ? $data_to_save : $_POST;
     $object_id = $this->object_id($object_id);
     $object_type = $this->object_type($object_type);
     $this->process_fields();
     // If options page, save the updated options
     if ('options-page' == $object_type) {
         cmb2_options($object_id)->set();
     }
     $this->after_save();
 }
开发者ID:wordimpress,项目名称:give,代码行数:20,代码来源:CMB2.php

示例14: get_meta

 /**
  * Returns term meta with options to return a subset
  * @since  0.1.3
  * @param  string  $term_id  The term id for the options we're getting
  * @param  string  $key      Term meta key to check
  * @return mixed             Requested value | false
  */
 public function get_meta($term_id, $key = '')
 {
     if (!class_exists('CMB2')) {
         return;
     }
     $this->do_override_filters($term_id);
     $value = $key ? cmb2_get_option($this->id($term_id), $key) : cmb2_options($this->id($term_id))->get_options();
     return $value;
 }
开发者ID:rhyswynne,项目名称:Taxonomy_MetaData,代码行数:16,代码来源:Taxonomy_MetaData_CMB2.php


注:本文中的cmb2_options函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。