php - Find a way to retrive data updated through metabox plugin to web page

I developed a customer metabox plugin to save user details to db and retrieve them back to Contact Us Page in my website

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 badges
Add a comment  | 

2 Answers 2

Reset to default 1

So 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

相关推荐

  • php - Find a way to retrive data updated through metabox plugin to web page

    I developed a customer metabox plugin to save user details to db and retrieve them back to Contact Us Page in my website

    1天前
    60

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信