I developed a customer metabox plugin to save user details to db and retrieve them back to Contact Us Page in my website.
But I searched a way to retrieve the data to contact us page and I couldn't find a way.
Please look into this code and kindly tell me a way to retrieve the data updated through metabox.php
to page-contact.php
metabox.php
<?php
add_action('add_meta_boxes', 'wpl_owt_register_metabox_cpt');
function wpl_owt_register_metabox_cpt()
{
global $post;
if(!empty($post))
{
$pageTemplate = get_post_meta($post->ID, '_wp_page_template', true);
if($pageTemplate == 'page-contact.php' )
{
add_meta_box(
'owt-cpt-id', // $id
'Contact Details', // $title
'wpl_owt_book_function', // $callback
'page', // $page
'normal', // $context
'high'); // $priority
}
}
}
/**********Callback function for metabox at custom post type book******************/
function wpl_owt_book_function( $post ) {
//echo "<p>Custom metabox for custom post type</p>";
define("_FILE_", "_FILE_");
wp_nonce_field( basename(_FILE_), "wp_owt_cpt_nonce");
echo "<label for='txtPhoneNum'>Phone</label><br>";
$phone_num = get_post_meta($post->ID, "telNo" , true);
echo "<input type ='tel' name = 'txtPhoneNum' value = '" . $phone_num . "'' placeholder = 'Phone Number' /><br><br>";
echo "<label for='txtEmail'>Email</label><br>";
$email = get_post_meta($post->ID, "email" , true);
echo "<input type ='email' name = 'txtEmail' value = '" . $email . "'' placeholder = 'Email Address' /><br><br>";
echo "<label for='txtHours'>Hours of Operation</label><br>";
$hours = get_post_meta($post->ID, "hourofOps" , true);
echo "<input type ='text' name = 'txtHours' value = '" . $hours . "'' placeholder = 'Working Hours' /><br><br>";
}
add_action("save_post" , "wpl_owt_save_metabox_data" , 10 , 2);
function wpl_owt_save_metabox_data($post_id, $post){
//verify nonce
if(!isset($_POST['wp_owt_cpt_nonce']) || !wp_verify_nonce($_POST['wp_owt_cpt_nonce'], basename(_FILE_))){
return $post_id;
}
//verify slug value
$post_slug = "page";
if($post_slug != $post->post_type){
return;
}
//save value to db filed
$pub_tel = '';
if(isset($_POST['txtPhoneNum'])){
$pub_tel = sanitize_text_field($_POST['txtPhoneNum']);
}
else{
$pub_tel = '';
}
update_post_meta($post_id, "telNo", $pub_tel);
$pub_email = '';
if(isset($_POST['txtEmail'])){
$pub_email = sanitize_text_field($_POST['txtEmail']);
}
else{
$pub_email = '';
}
update_post_meta($post_id, "email", $pub_email);
$pub_hours = '';
if(isset($_POST['txtHours'])){
$pub_hours = sanitize_text_field($_POST['txtHours']);
}
update_post_meta($post_id, "hourofOps", $pub_hours);
}
?>
page-contact.php
<!-- Contact Info -->
<div class="contact-info col-md-4 col-sm-4 margin-top-20 padding-left-20">
<label class="contact-label pull-left width-wide">Contact Info</label>
<p><strong>IT'S SHOWTIME TOWING</strong><br /><br /> Phone: <a href="tel:0450749863">0450749863</a><br /><br />
Email: <a href="mailto:[email protected]">[email protected]</a><br /><br />
<strong>Hours of Operation</strong><br /><br />
<a href="#">24/7</a><br /><br /> <strong>Terms And Conditions</strong> <a href="terms_conditions.html">Click Here</a></p>
</div>
<!-- // Contact Info -->
Thank You!
I developed a customer metabox plugin to save user details to db and retrieve them back to Contact Us Page in my website.
But I searched a way to retrieve the data to contact us page and I couldn't find a way.
Please look into this code and kindly tell me a way to retrieve the data updated through metabox.php
to page-contact.php
metabox.php
<?php
add_action('add_meta_boxes', 'wpl_owt_register_metabox_cpt');
function wpl_owt_register_metabox_cpt()
{
global $post;
if(!empty($post))
{
$pageTemplate = get_post_meta($post->ID, '_wp_page_template', true);
if($pageTemplate == 'page-contact.php' )
{
add_meta_box(
'owt-cpt-id', // $id
'Contact Details', // $title
'wpl_owt_book_function', // $callback
'page', // $page
'normal', // $context
'high'); // $priority
}
}
}
/**********Callback function for metabox at custom post type book******************/
function wpl_owt_book_function( $post ) {
//echo "<p>Custom metabox for custom post type</p>";
define("_FILE_", "_FILE_");
wp_nonce_field( basename(_FILE_), "wp_owt_cpt_nonce");
echo "<label for='txtPhoneNum'>Phone</label><br>";
$phone_num = get_post_meta($post->ID, "telNo" , true);
echo "<input type ='tel' name = 'txtPhoneNum' value = '" . $phone_num . "'' placeholder = 'Phone Number' /><br><br>";
echo "<label for='txtEmail'>Email</label><br>";
$email = get_post_meta($post->ID, "email" , true);
echo "<input type ='email' name = 'txtEmail' value = '" . $email . "'' placeholder = 'Email Address' /><br><br>";
echo "<label for='txtHours'>Hours of Operation</label><br>";
$hours = get_post_meta($post->ID, "hourofOps" , true);
echo "<input type ='text' name = 'txtHours' value = '" . $hours . "'' placeholder = 'Working Hours' /><br><br>";
}
add_action("save_post" , "wpl_owt_save_metabox_data" , 10 , 2);
function wpl_owt_save_metabox_data($post_id, $post){
//verify nonce
if(!isset($_POST['wp_owt_cpt_nonce']) || !wp_verify_nonce($_POST['wp_owt_cpt_nonce'], basename(_FILE_))){
return $post_id;
}
//verify slug value
$post_slug = "page";
if($post_slug != $post->post_type){
return;
}
//save value to db filed
$pub_tel = '';
if(isset($_POST['txtPhoneNum'])){
$pub_tel = sanitize_text_field($_POST['txtPhoneNum']);
}
else{
$pub_tel = '';
}
update_post_meta($post_id, "telNo", $pub_tel);
$pub_email = '';
if(isset($_POST['txtEmail'])){
$pub_email = sanitize_text_field($_POST['txtEmail']);
}
else{
$pub_email = '';
}
update_post_meta($post_id, "email", $pub_email);
$pub_hours = '';
if(isset($_POST['txtHours'])){
$pub_hours = sanitize_text_field($_POST['txtHours']);
}
update_post_meta($post_id, "hourofOps", $pub_hours);
}
?>
page-contact.php
<!-- Contact Info -->
<div class="contact-info col-md-4 col-sm-4 margin-top-20 padding-left-20">
<label class="contact-label pull-left width-wide">Contact Info</label>
<p><strong>IT'S SHOWTIME TOWING</strong><br /><br /> Phone: <a href="tel:0450749863">0450749863</a><br /><br />
Email: <a href="mailto:[email protected]">[email protected]</a><br /><br />
<strong>Hours of Operation</strong><br /><br />
<a href="#">24/7</a><br /><br /> <strong>Terms And Conditions</strong> <a href="terms_conditions.html">Click Here</a></p>
</div>
<!-- // Contact Info -->
Thank You!
Share Improve this question edited Jan 1, 2020 at 5:24 Chetan Vaghela 2,4084 gold badges10 silver badges16 bronze badges asked Jan 1, 2020 at 3:03 Sami on LineSami on Line 113 bronze badges2 Answers
Reset to default 1So finally I found a way to do that.
Here is the code.
page-contact.php
<!-- Contact Info -->
<div class="contact-info col-md-4 col-sm-4 margin-top-20 padding-left-20">
<label class="contact-label pull-left width-wide">Contact Info</label>
<p><strong>IT'S SHOWTIME TOWING</strong><br /><br />
<!--Phone: <a href="tel:0450749863">0450749863</a><br /><br /> -->
Phone: <a href="tel:0450749863"><?php echo get_post_meta( $post->ID, 'telNo', true );?></a><br /><br />
<!--Email: <a href="mailto:[email protected]">[email protected]</a><br /><br /> -->
Email: <a href="mailto:[email protected]"><?php echo get_post_meta($post->ID, "email" , true); ?></a><br /><br />
<strong>Hours of Operation</strong><br /><br />
<!--<a href="#">24/7</a><br /><br />-->
<a href="#"><?php echo get_post_meta($post->ID, "hourofOps" , true); ?></a><br /><br />
<strong>Terms And Conditions</strong> <a href="terms_conditions.html">Click Here</a>
</p>
</div><!-- // Contact Info -->
Hope this answer will helpful for a newcomer to the industry like me.
You have to also fetch the value in href
attribute as wel. Currently there are static value you have added. when you change value from backend it just display but when you click it will consider tel:
and mail:
attribute value. So change code as below:
Phone: <a href="tel:<?php echo get_post_meta( $post->ID, 'telNo', true );?>"><?php echo get_post_meta( $post->ID, 'telNo', true );?></a><br /><br />
Email: <a href="mailto:<?php echo get_post_meta($post->ID, 'email' , true); ?>"><?php echo get_post_meta($post->ID, 'email' , true); ?></a><br /><br />
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744868104a4598095.html
评论列表(0条)