0

I want to add this my page.php. Does anyone help me?

if(function_exists('add_theme_support')){
      add_theme_support('post-thumbnails'); 
      }


      function mallu_link_add_meta_box(){
      $screens = array( 'post', 'page' );
      foreach ( $screens as $screen ) {
      add_meta_box('action_block', 'Action Block', 'mallu_link_meta_box_callback', $screen, 'normal'); 
      }
      }

      // Add meta boxes for action section on each post/page
      add_action('add_meta_boxes', 'mallu_link_add_meta_box');

      function mallu_link_meta_box_callback($post){
      // Security check
      wp_nonce_field('mallu_link_save_meta_box_data', 'mallu_link_meta_box_nonce');

      // Get values of the action block fields
      $action_prompt_text = get_post_meta($post->ID, 'mallu_link_meta_prompt_text', true);
      $action_button_text = get_post_meta($post->ID, 'mallu_link_meta_button_text', true);
      $action_button_link = get_post_meta($post->ID, 'mallu_link_meta_button_link', true);


      // Display and populate fields from the database if it exists
      ?>
      <p>
      <label for="action_prompt_text">Action Prompt</label><br>
      <input class="widefat" type="text" name="action_prompt_text" id="action_prompt_text" placeholder="This should be short, to the point and less salesy." value="<?php echo esc_attr($action_prompt_text); ?>">
      </p>
      <p>
      <label for="action_button_text">Action Button Text</label><br>
      <input class="widefat" type="text" name="action_button_text" id="action_button_text" placeholder="This should prompt the visitor to take an action." value="<?php echo esc_attr($action_button_text); ?>">
      </p>
      <p>
      <label for="action_button_link">Action Button Link</label><br>
      <input class="widefat" type="url" name="action_button_link" id="action_button_link" placeholder="Copy and paste the link from the intended page." value="<?php echo esc_attr($action_button_link); ?>">
      </p>
      <?php
      }
      // Callback for saving metaboxes
      function mallu_link_save_meta_box_data($post_id) {


      // Security checks
      if(!isset($_POST['mallu_link_meta_box_nonce'])) return;
      if(!wp_verify_nonce($_POST['mallu_link_meta_box_nonce'], 'mallu_link_save_meta_box_data')) return;
      if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;

      if ( isset( $_POST['post_type'] ) && 'page' == $_POST['post_type'] ) {
        if ( ! current_user_can( 'edit_page', $post_id ) ) {
          return;
        }
      } else {
        if ( ! current_user_can( 'edit_post', $post_id ) ) {
          return;
        }
      }

      // Do the save/update
      if(isset($_POST['action_prompt_text'])){
        update_post_meta($post_id, 'mallu_link_meta_prompt_text', sanitize_text_field($_POST['action_prompt_text']));
      }
      if(isset($_POST['action_button_text'])){
        update_post_meta($post_id, 'mallu_link_meta_button_text', sanitize_text_field($_POST['action_button_text']));
      }
      if(isset($_POST['action_button_link'])){
        update_post_meta($post_id, 'mallu_link_meta_button_link', esc_url($_POST['action_button_link']));
      }
      }

      // Save action block details when the post is saved/updated
      add_action('save_post', 'mallu_link_save_meta_box_data');

I added this code in single.php but not showing

<p><?php echo esc_attr( get_post_meta( get_the_ID(), 'mallu_link_meta_prompt_text', true ) ); ?></p>

But not displaying. please help

  • 2
    functions and hooks shouldn't be in templates – Makiomar Aug 11 '19 at 11:28
1

Add function codes in functions.php. Then call in the single.php

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.