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
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
Share Improve this question edited Aug 11, 2019 at 12:42 Abhijith-cloud asked Aug 11, 2019 at 10:45 Abhijith-cloudAbhijith-cloud 134 bronze badges 1- 2 functions and hooks shouldn't be in templates – Makiomar Commented Aug 11, 2019 at 11:28
1 Answer
Reset to default 1Add function codes in functions.php. Then call in the single.php
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745249689a4618601.html
评论列表(0条)