本文整理汇总了PHP中cmb2_get_metabox_form函数的典型用法代码示例。如果您正苦于以下问题:PHP cmb2_get_metabox_form函数的具体用法?PHP cmb2_get_metabox_form怎么用?PHP cmb2_get_metabox_form使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cmb2_get_metabox_form函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: frontend_form_shortcode
function frontend_form_shortcode($atts = array())
{
// current user
$user_id = get_current_user_id();
// user ID of metabox in front_end_metabox
$metabox_id = '_frontend_form';
// since post ID will not exist yet, just need to pass it
$object_id = 'fake_object_id';
// get cmb2 metabox object
$cmb = cmb2_get_metabox($metabox_id, $object_id);
// get $cmb object_type
$post_types = $cmb->prop('object_types');
$atts = shortcode_atts(array('post_author' => $user_id ? $user_id : 1, 'post_status' => 'pending', 'post_type' => reset($post_types)), $atts, 'cmb-frontend-form');
foreach ($atts as $key => $value) {
$cmb->add_hidden_field(array('field_args' => array('id' => "atts[{$key}]", 'type' => 'hidden', 'default' => $value)));
}
// Initiate our output variable
$output = '';
// Get any submission errors
if (($error = $cmb->prop('submission_error')) && is_wp_error($error)) {
// If there was an error with the submission, add it to our ouput.
$output .= '<h3>' . sprintf(__('There was an error in the submission: %s', 'sexy'), '<strong>' . $error->get_error_message() . '</strong>') . '</h3>';
}
// If the post was submitted successfully, notify the user.
if (isset($_GET['post_submitted']) && ($post = get_post(absint($_GET['post_submitted'])))) {
// Get submitter's name
$name = get_post_meta($post->ID, '_frontend_name', 1);
$name = $name ? ' ' . $name : '';
// Add notice of submission to our output
$output .= '<h3>' . sprintf(__('Thank you%s, your new post has been submitted and is pending review by a site administrator.', 'sexy'), esc_html($name)) . '</h3>';
}
// Get our form
$output .= cmb2_get_metabox_form($cmb, 'fake_object_id', array('save_button' => __('Submit Post', 'sexy')));
return $output;
}
示例2: tbws_do_new_offer_submission_shortcode
function tbws_do_new_offer_submission_shortcode()
{
// Initiate our output variable
$output = '';
// Display a success message after form submission
// Also hides our form by returning early
if (isset($_GET['success']) && $_GET['success'] == 'true') {
$output .= '<div id="message" class="success">' . __('Thank you! Your testimonial has been submitted.', 'tbws') . '</div>';
return apply_filters('tbws_success_message', $output);
}
// Get CMB2 metabox object
$cmb = tbws_testimonial_cmb2_get();
// Parse attributes
$atts = shortcode_atts(array('post_status' => 'draft'), $atts, 'tbws_testimonial');
/*
* Let's add these attributes as hidden fields to our cmb form
* so that they will be passed through to our form submission
*/
foreach ($atts as $key => $value) {
$cmb->add_hidden_field(array('field_args' => array('id' => 'submitted_' . $key, 'type' => 'hidden', 'default' => $value)));
}
// Set our default button text
$button_text = __('Submit', 'tbws');
// Form button text
$form_args = array('save_button' => apply_filters('tbws_submit_button_text', $button_text));
// Get our form
$output .= cmb2_get_metabox_form($cmb, 'tbws_testimonial_id', $form_args);
$output = apply_filters('tbws_submission_form', $output);
return $output;
}
示例3: ot_do_frontend_form_submission_shortcode
/**
* Handle the user-submit-frontend-form shortcode
*
* @param array $atts Array of shortcode attributes
* @return string Form html
*/
function ot_do_frontend_form_submission_shortcode($atts = array())
{
// Get CMB2 metabox object
$cmb = ot_frontend_cmb2_get();
// Get $cmb object_types
$post_types = $cmb->prop('object_types');
/**
* Get the user id from the display name.
* This is an attempt to sync between dev and production environments.
* ID's are pretty flaky when switching from one to the other.
*/
// Current user
/* Use customiser */
$user_id = get_theme_mod('ot_bv_user_selected_links_author');
/* or get the id from the slug */
//$user = get_user_by('slug', 'anon');
//$user_id = $user->ID;
// Parse attributes
$atts = shortcode_atts(array('post_author' => $user_id ? $user_id : 1, 'post_status' => 'pending', 'post_type' => reset($post_types)), $atts, 'user-submit-frontend-form');
/*
* Let's add these attributes as hidden fields to our cmb form
* so that they will be passed through to our form submission
*/
foreach ($atts as $key => $value) {
$cmb->add_hidden_field(array('field_args' => array('id' => "atts[{$key}]", 'type' => 'hidden', 'default' => $value)));
}
// Initiate our output variable
$output = '';
// Get any submission errors
if (($error = $cmb->prop('submission_error')) && is_wp_error($error)) {
// If there was an error with the submission, add it to our ouput.
$output .= '<h3 class="label label-error">' . sprintf(__('There was an error in the submission: %s', 'ot-post-submit'), '<strong>' . $error->get_error_message() . '</strong>') . '</h3>';
}
// If the post was submitted successfully, notify the user.
if (isset($_GET['post_submitted']) && ($post = get_post(absint($_GET['post_submitted'])))) {
// Get submitter's name
$name = get_post_meta($post->ID, '_ot_bv_link_submit_name', 1);
$name = $name ? ' ' . $name : '';
// Add notice of submission to our output
$output .= '<h3 class="label label-success">' . sprintf(__('Thank you%s, your link has been submitted and is pending review.', 'ot-post-submit'), esc_html($name)) . '</h3>';
}
// Get our form
$output .= cmb2_get_metabox_form($cmb, 'fake-object-id', array('save_button' => __('Submit', 'ot-post-submit')));
return $output;
}
示例4: jt_cmb2_do_frontend_form_shortcode
/**
* Shortcode to display a CMB2 form for a post ID.
* Adding this shortcode to your WordPress editor would look something like this:
*
* [cmb-form id="test_metabox" post_id=2]
*
* The shortcode requires a metabox ID, and (optionally) can take
* a WordPress post ID (or user/comment ID) to be editing.
*
* @param array $atts Shortcode attributes
* @return string Form HTML markup
*/
function jt_cmb2_do_frontend_form_shortcode($atts = array())
{
global $post;
/**
* Make sure a WordPress post ID is set.
* We'll default to the current post/page
*/
if (!isset($atts['post_id'])) {
$atts['post_id'] = $post->ID;
}
// If no metabox id is set, yell about it
if (empty($atts['id'])) {
return 'Please add an "id" attribute to specify the CMB2 form to display.';
}
$metabox_id = esc_attr($atts['id']);
$object_id = absint($atts['post_id']);
// Get our form
$form = cmb2_get_metabox_form($metabox_id, $object_id);
return $form;
}
示例5: parinite_shortcode
function parinite_shortcode($atts = array())
{
$cmb = get_parinite();
$post_types = $cmb->prop('object_types');
$user_id = get_current_user_id();
$atts = shortcode_atts(array('post_author' => $user_id ? $user_id : 1, 'post_status' => 'pending', 'post_type' => reset($post_types)), $atts, 'cmb-frontend-form');
foreach ($atts as $key => $value) {
$cmb->add_hidden_field(array('id' => "atts[{$key}]", 'type' => 'hidden', 'default' => $value));
}
$output = '';
// if error
if (($error = $cmb->prop('submission_error')) && is_wp_error($error)) {
$output .= '<h3>' . sprintf(__('There was an error in the submission: %s', 'sexy'), '<strong>' . $error->get_error_message() . '</strong>') . '</h3>';
}
// if succes
if (isset($_GET['post_submitted']) && ($post = get_post(absint($_GET['post_submitted'])))) {
$name = get_post_meta($post->ID, '_frontend_name', 1);
$name = $name ? ' ' . $name : '';
$output .= '<h3>' . sprintf(__('Thank you%s, your new post has been submitted and is pending review by a site administrator .', 'sexy'), esc_html($name)) . '</h3>';
}
$output .= cmb2_get_metabox_form($cmb, 'fake-object-id', array('save_button' => __('Submit Post', 'sexy')));
return $output;
}
示例6: wds_do_frontend_form_submission_shortcode
/**
* Handle the cmb-frontend-form shortcode
*
* @param array $atts Array of shortcode attributes
* @return string Form html
*/
function wds_do_frontend_form_submission_shortcode($atts = array())
{
// Get CMB2 metabox object
$cmb = wds_frontend_cmb2_get();
// Get $cmb object_types
$post_types = $cmb->prop('object_types');
// Current user
$user_id = get_current_user_id();
// Parse attributes
$atts = shortcode_atts(array('post_author' => $user_id ? $user_id : 1, 'post_status' => 'pending', 'post_type' => reset($post_types)), $atts, 'cmb-frontend-form');
/*
* Let's add these attributes as hidden fields to our cmb form
* so that they will be passed through to our form submission
*/
foreach ($atts as $key => $value) {
$cmb->add_hidden_field(array('field_args' => array('id' => "atts[{$key}]", 'type' => 'hidden', 'default' => $value)));
}
// Initiate our output variable
$output = '';
// Get any submission errors
if (($error = $cmb->prop('submission_error')) && is_wp_error($error)) {
// If there was an error with the submission, add it to our ouput.
$output .= '<h3>' . sprintf(__('There was an error in the submission: %s', 'wds-post-submit'), '<strong>' . $error->get_error_message() . '</strong>') . '</h3>';
}
// If the post was submitted successfully, notify the user.
if (isset($_GET['post_submitted']) && ($post = get_post(absint($_GET['post_submitted'])))) {
// Get submitter's name
$name = get_post_meta($post->ID, 'submitted_author_name', 1);
$name = $name ? ' ' . $name : '';
// Add notice of submission to our output
$output .= '<h3>' . sprintf(__('Thank you%s, your new post has been submitted and is pending review by a site administrator.', 'wds-post-submit'), esc_html($name)) . '</h3>';
}
// Get our form
$output .= cmb2_get_metabox_form($cmb, 'fake-oject-id', array('save_button' => __('Submit Post', 'wds-post-submit')));
return $output;
}
示例7: cmb2_metabox_form
/**
* Display a metabox form (or optionally return it) & save it on submission
* @since 1.0.0
* @param mixed $meta_box Metabox config array or Metabox ID
* @param int $object_id Object ID
* @param array $args Optional arguments array
*/
function cmb2_metabox_form($meta_box, $object_id = 0, $args = array())
{
if (!isset($args['echo']) || $args['echo']) {
cmb2_print_metabox_form($meta_box, $object_id, $args);
} else {
return cmb2_get_metabox_form($meta_box, $object_id, $args);
}
}
示例8: test_cmb2_print_metabox_form
public function test_cmb2_print_metabox_form()
{
$expected_form = '
<form class="cmb-form" method="post" id="' . $this->cmb_id . '" enctype="multipart/form-data" encoding="multipart/form-data">
<input type="hidden" name="object_id" value="' . $this->post_id . '">
' . wp_nonce_field($this->cmb->nonce(), $this->cmb->nonce(), false, false) . '
<!-- Begin CMB2 Fields -->
<div class="cmb2-wrap form-table">
<div id="cmb2-metabox-' . $this->cmb_id . '" class="cmb2-metabox cmb-field-list">
function test_before_row Description test_test
<div class="cmb-row cmb-type-text cmb2-id-test-test table-layout">
<div class="cmb-th">
<label for="test_test">Name</label>
</div>
<div class="cmb-td">
testing before
<input type="text" class="regular-text" name="test_test" id="test_test" value=""/>
<p class="cmb2-metabox-description">Description</p>
function test_after Description test_test
</div>
</div>
testing after row
</div>
</div>
<!-- End CMB2 Fields -->
<input type="submit" name="submit-cmb" value="Save" class="button-primary">
</form>
';
$form_get = cmb2_get_metabox_form($this->cmb_id, $this->post_id);
$this->assertHTMLstringsAreEqual($expected_form, $form_get);
}
示例9: submission
/**
* Submission index
*
* @access public
* @return string|void
*/
public static function submission($atts)
{
if (!is_user_logged_in()) {
echo Realia_Template_Loader::load('misc/not-allowed');
return;
}
$metaboxes = apply_filters('cmb2_meta_boxes', array());
if (!isset($metaboxes[REALIA_PROPERTY_PREFIX . 'front'])) {
return __('A metabox with the specified \'metabox_id\' doesn\'t exist.', 'realia');
}
// CMB2 is getting fields values from current post what means it will fetch data from submission page
// We need to remove all data before.
$post_id = !empty($_GET['id']) ? $_GET['id'] : false;
if ($post_id == false && empty($_GET['id'])) {
unset($_POST);
foreach ($metaboxes[REALIA_PROPERTY_PREFIX . 'front']['fields'] as $field_name => $field_value) {
delete_post_meta(get_the_ID(), $field_value['id']);
}
}
if (!empty($post_id) && !empty($_POST['object_id'])) {
$post_id = $_POST['object_id'];
}
echo cmb2_get_metabox_form($metaboxes[REALIA_PROPERTY_PREFIX . 'front'], $post_id, array('form_format' => '<form action="//' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '" class="cmb-form" method="post" id="%1$s" enctype="multipart/form-data" encoding="multipart/form-data"><input type="hidden" name="object_id" value="%2$s">%3$s<input type="submit" name="submit-cmb" value="%4$s" class="button-primary"></form>', 'save_button' => __('Save property', 'realia')));
}
示例10: test_cmb2_print_metabox_form
public function test_cmb2_print_metabox_form()
{
$form = '
<form class="cmb-form" method="post" id="' . $this->cmb_id . '" enctype="multipart/form-data" encoding="multipart/form-data">
<input type="hidden" name="object_id" value="' . $this->post_id . '">
' . wp_nonce_field($this->cmb->nonce(), $this->cmb->nonce(), false, false) . '
<!-- Begin CMB Fields -->
<div class="cmb2_wrap form-table">
<ul id="cmb2_metabox_' . $this->cmb_id . '" class="cmb2_metabox">
<li class="cmb-row cmb-type-text cmb2_id_test_test">
<div class="cmb-th">
<label for="test_test">Name</label>
</div>
<div class="cmb-td">
<input type="text" class="regular-text" name="test_test" id="test_test" value=""/>
<p class="cmb2_metabox_description"></p>
</div>
</li>
</ul>
</div>
<!-- End CMB Fields -->
<input type="submit" name="submit-cmb" value="Save" class="button-primary">
</form>
';
$form_get = cmb2_get_metabox_form($this->cmb_id, $this->post_id);
$this->assertEquals($this->clean_string($form_get), $this->clean_string($form));
}
示例11: process_property_form
/**
* Process property form - front end submission
*
* @access public
* @return void
*/
public static function process_property_form()
{
if (!isset($_POST['submit-cmb'])) {
return;
}
// Setup and sanitize data
if (isset($_POST[REALIA_PROPERTY_PREFIX . 'title'])) {
$post_id = !empty($_GET['id']) ? $_GET['id'] : false;
$review_before = get_theme_mod('realia_submission_review_before', false);
$post_status = 'publish';
if ($review_before && get_post_status($post_id) != 'publish') {
$post_status = 'pending';
}
// If we are updating the post get old one. We need old post to set proper
// post_date value because just modified post will at the top in archive pages.
if (!empty($post_id)) {
$old_post = get_post($post_id);
$post_date = $old_post->post_date;
} else {
$post_date = '';
}
$data = array('post_title' => sanitize_text_field($_POST[REALIA_PROPERTY_PREFIX . 'title']), 'post_author' => get_current_user_id(), 'post_status' => $post_status, 'post_type' => 'property', 'post_date' => $post_date, 'post_content' => wp_kses($_POST[REALIA_PROPERTY_PREFIX . 'text'], '<b><strong><i><em><h1><h2><h3><h4><h5><h6><pre><code><span>'));
if (!empty($post_id)) {
$data['ID'] = $post_id;
}
$post_id = wp_insert_post($data, true);
if (!empty($post_id) && !empty($_POST['object_id'])) {
$_POST['object_id'] = $post_id;
$post_id = $_POST['object_id'];
$metaboxes = apply_filters('cmb2_meta_boxes', array());
cmb2_get_metabox_form($metaboxes[REALIA_PROPERTY_PREFIX . 'front'], $post_id);
// Create featured image
$featured_image = get_post_meta($post_id, REALIA_PROPERTY_PREFIX . 'featured_image', true);
if (!empty($_POST[REALIA_PROPERTY_PREFIX . 'featured_image'])) {
$featured_image_id = get_post_meta($post_id, REALIA_PROPERTY_PREFIX . 'featured_image_id', true);
set_post_thumbnail($post_id, $featured_image_id);
} else {
update_post_meta($post_id, REALIA_PROPERTY_PREFIX . 'featured_image', null);
delete_post_thumbnail($post_id);
}
$_SESSION['messages'][] = array('success', __('Property has been successfully updated.', 'realia'));
wp_redirect(get_permalink(get_theme_mod('realia_submission_list_page', '/')));
exit;
}
}
return;
}