' . esc_html__( 'You can enable Absolute Weaver Per Page Options for Custom Post Types on the Absolute Weaver:Advanced Options:Admin Options tab.', 'absolute-weaver' ) . '

'; } else { echo '

' . esc_html__( 'Absolute Weaver Per Page Options not available for your User Role.', 'absolute-weaver' ) . '

'; } return; // don't show per post panel } echo( "

\n" ); if ( get_the_ID() == get_option( 'page_on_front' ) ) { ?>



' . esc_html__( 'Page Templates', 'absolute-weaver' ) . ''; absolute_weaver_help_link( 'help.html#PageTemplates', esc_html__( 'Help for Absolute Weaver Page Templates', 'absolute-weaver' ) ); echo '( ' . esc_html__( 'This Page\'s ID: ', 'absolute-weaver' ); the_ID(); echo ' )'; absolute_weaver_html_br(); esc_html_e( 'Please click the ( ? ) for more information about all the Absolute Weaver Page Templates.', 'absolute-weaver' ); if ( ! ! get_post_meta( get_the_ID(), '_elementor_edit_mode', true ) ) { absolute_weaver_html_br(); esc_html_e( 'NOTE: This page has been created with "Elementor". You may want to consider using the "For Your Page Builder Plugin" Page Template to display this page.', 'absolute-weaver' ); } $template = ! empty( $post->page_template ) ? $post->page_template : 'Default Template'; $raw_template = in_array( $template, array( 'paget-raw.php' ) ); absolute_weaver_html_br(); absolute_weaver_showtabs( $raw_template, $template ); ?>
' . $label . '' . $after ); } function absolute_weaver_pp_pg_layout( $raw_template = false ) { // ------------------------------- Page Layout ------------------- echo '' . esc_html__( 'Layout', 'absolute-weaver' ) . '
'; esc_html_e( 'These settings let you control layout + page title on a per page basis.', 'absolute-weaver' ); absolute_weaver_html_br( 2 ); if ( $raw_template ) { esc_html_e( 'Not options when using the RAW Page Template', 'absolute-weaver' ); return; } absolute_weaver_pp_page_title( esc_html__( 'Sidebars & Widgets', 'absolute-weaver' ), 80, 1 ); absolute_weaver_pp_page_layout(); absolute_weaver_pp_page_title( esc_html__( 'Featured Image', 'absolute-weaver' ), 80, 1 ); $opts3 = array( 'id' => '_pp_fi_location', 'info' => esc_html__( 'How to display Page FI on this page', 'absolute-weaver' ), 'value' => array( array( 'val' => '', 'desc' => esc_html__( 'Default Blog FI', 'absolute-weaver' ), ), array( 'val' => 'content-top', 'desc' => esc_html__( 'With Content - top', 'absolute-weaver' ), ), array( 'val' => 'content-bottom', 'desc' => esc_html__( 'With Content - bottom', 'absolute-weaver' ), ), array( 'val' => 'title-before', 'desc' => esc_html__( 'With Title', 'absolute-weaver' ), ), array( 'val' => 'title-banner', 'desc' => esc_html__( 'Banner above Title', 'absolute-weaver' ), ), array( 'val' => 'header-image', 'desc' => esc_html__( 'Header Image Replacement', 'absolute-weaver' ), ), array( 'val' => 'post-before', 'desc' => esc_html__( 'Beside Page, no wrap', 'absolute-weaver' ), ), array( 'val' => 'post-bg', 'desc' => esc_html__( 'As BG Image, Tile', 'absolute-weaver' ), ), array( 'val' => 'post-bg-cover', 'desc' => esc_html__( 'As BG Image, Cover', 'absolute-weaver' ), ), array( 'val' => 'post-bg-parallax', 'desc' => esc_html__( 'As BG Image, Parallax', 'absolute-weaver' ), ), array( 'val' => 'post-bg-parallax-full', 'desc' => esc_html__( 'As BG Image, Parallax Full', 'absolute-weaver' ), ), array( 'val' => 'hide', 'desc' => esc_html__( 'Hide FI for this Post', 'absolute-weaver' ), ), ), ); absolute_weaver_pp_pp_select_id( $opts3 ); absolute_weaver_html_br( 2 ); absolute_weaver_pp_page_title( esc_html__( 'Page Title', 'absolute-weaver' ), 80, 1 ); absolute_weaver_pp_page_checkbox( '_pp_hide_page_title', esc_html__( 'Hide Page Title', 'absolute-weaver' ), 50, 2 ); } // ------------------------------- Page with Post Options ------------------- function absolute_weaver_pp_page_with_posts_opts( $raw_template, $template ) { global $post; ?> page_template ) ? $post->page_template : 'Default Template'; if ( in_array( $template, apply_filters( 'absolute_weaver_paget_posts', array( 'paget-posts.php' ) ) ) ) { ?>











' . esc_html__( 'Hide first "n" posts - Start with post n+1. Useful with plugin that will display first n posts using a shortcode. (e.g., Post slider)', 'absolute-weaver' ); ?>

' . esc_html__( 'Page Builder Header/Footer Replacement', 'absolute-weaver' /*adm*/ ) . '
'; if ( $post_type == 'page' ) { echo esc_html__( 'These settings let you replace the header or footer areas with content from a page builder page. They override the global replacement settings.', 'absolute-weaver' /*adm*/ ); } else { echo esc_html__( 'These settings let you replace the header or footer areas of the Single Page Post view with content from a page builder page. They override the global replacement settings.', 'absolute-weaver' /*adm*/ ); } absolute_weaver_html_br( 2 ); // HEADER ---------------- absolute_weaver_pp_page_title( esc_html__( 'Header Area Replacement', 'absolute-weaver' ), 80, 1 ); ?>


'page', ); $posts = get_pages( $pargs ); ?>


'page', ); $posts = get_pages( $pargs ); ?>


'; esc_html_e( 'Sorry, Weaver can only list page builder pages from Elementor or SiteOrigin Page Builder. Please install and activate one of those plugins.', 'absolute-weaver' ); echo '

'; } // FOOTER ----------------- absolute_weaver_html_br( 1 ); absolute_weaver_pp_page_title( esc_html__( 'Footer Area Replacement', 'absolute-weaver' ), 80, 1 ); ?>
'page', ); $posts = get_pages( $pargs ); ?>


'page', ); $posts = get_pages( $pargs ); ?>


'; esc_html_e( 'Sorry, Weaver can only list page builder pages from Elementor or SiteOrigin Page Builder. Please install and activate one of those plugins.', 'absolute-weaver' ); echo '

'; } echo '
'; } function absolute_weaver_pp_page_layout( $page = 'page' ) { if ( $page == 'page' ) { $msg = esc_html__( 'Select "Sidebar Layout" for this page - overrides default Page layout.', 'absolute-weaver' ); } else { $msg = __( 'Select Single Page View "Sidebar Layout" for this post - overrides default Single View layout.', 'absolute-weaver' ); } $opts = array( 'id' => '_pp_page_layout', 'info' => $msg, 'value' => array( array( 'val' => '', 'desc' => esc_html__( 'Use Default', 'absolute-weaver' ), ), array( 'val' => 'right', 'desc' => esc_html__( 'Sidebars on Right', 'absolute-weaver' ), ), array( 'val' => 'right-top', 'desc' => esc_html__( 'Sidebars on Right (stack top)', 'absolute-weaver' ), ), array( 'val' => 'left', 'desc' => esc_html__( 'Sidebars on Left', 'absolute-weaver' ), ), array( 'val' => 'left-top', 'desc' => esc_html__( 'Sidebars on Left (stack top)', 'absolute-weaver' ), ), array( 'val' => 'split', 'desc' => esc_html__( 'Split - Sidebars on Right and Left', 'absolute-weaver' ), ), array( 'val' => 'split-top', 'desc' => esc_html__( 'Split (stack top)', 'absolute-weaver' ), ), array( 'val' => 'one-column', 'desc' => esc_html__( 'No sidebars, content only', 'absolute-weaver' ), ), ), ); absolute_weaver_pp_pp_select_id( $opts ); } //-- function absolute_weaver_pp_pp_select_id( $value ) { global $post; if ( isset( $value['name'] ) && $value['name'] != '' ) { echo "\n" . esc_html( $value['name'] ) . "   \n"; } echo "\n ' . esc_html( $value['info'] ) . "\n"; } //-- function absolute_weaver_pp_pwp_type() { $opts = array( 'name' => esc_html__( 'Display posts as:', 'absolute-weaver' ), 'id' => '_pp_wvrx_pwp_type', 'info' => esc_html__( 'How to display posts on this Page with Posts (Default: global Full Post/Excerpt setting)', 'absolute-weaver' ), 'value' => array( array( 'val' => '', 'desc' => ' ', ), array( 'val' => 'full', 'desc' => esc_html__( 'Full post', 'absolute-weaver' ), ), array( 'val' => 'excerpt', 'desc' => esc_html__( 'Excerpt', 'absolute-weaver' ), ), array( 'val' => 'title', 'desc' => esc_html__( 'Title only', 'absolute-weaver' ), ), array( 'val' => 'title_featured', 'desc' => esc_html__( 'Title + Featured Image', 'absolute-weaver' ), ), ), ); absolute_weaver_pp_pp_select_id( $opts ); } //================================================================ Per Post Options ======================================================== function absolute_weaver_pp_post_extras() { $opts = absolute_weaver_get_theme_settings(); // need to fetch Absolute Weaver options if ( ! ( current_user_can( 'edit_themes' ) || ( current_user_can( 'edit_theme_options' ) && ! isset( $opts['_hide_mu_admin_per'] ) ) // multi-site regular admin || ( current_user_can( 'edit_pages' ) && ! isset( $opts['_hide_editor_per'] ) ) // Editor || ( current_user_can( 'edit_posts' ) && ! isset( $opts['_hide_author_per'] ) ) ) // Author/Contributor ) { echo '

' . esc_html__( 'Absolute Weaver Per Post Options not available for your User Role.', 'absolute-weaver' ) . '

'; return; // don't show per post panel } ?>

' . esc_html__( 'Per Post Options', 'absolute-weaver' ) . ''; absolute_weaver_help_link( 'help.html#PerPage', esc_html__( 'Help for Per Post Options', 'absolute-weaver' ) ); echo '( ' . esc_html__( 'This Post\'s ID: ', 'absolute-weaver' ); the_ID(); echo ' )'; absolute_weaver_html_br(); esc_html_e( 'These settings let you control display of this individual post. These options override global options set on the Absolute Weaver options.', 'absolute-weaver' ); absolute_weaver_html_br(); absolute_weaver_show_post_tabs(); ?>


'_pp_post_fi_location', 'info' => __( "Override Post setting for where to display FI ( for both excerpt and full content ). Don't forget Single view, too.", 'absolute-weaver' ), 'value' => array( array( 'val' => '', 'desc' => esc_html__( 'Default Blog FI', 'absolute-weaver' ), ), array( 'val' => 'content-top', 'desc' => esc_html__( 'With Content - top', 'absolute-weaver' ), ), array( 'val' => 'content-bottom', 'desc' => esc_html__( 'With Content - bottom', 'absolute-weaver' ), ), array( 'val' => 'title-before', 'desc' => esc_html__( 'With Title', 'absolute-weaver' ), ), array( 'val' => 'title-banner', 'desc' => esc_html__( 'Banner above Title', 'absolute-weaver' ), ), array( 'val' => 'header-image', 'desc' => esc_html__( 'Header Image Replacement', 'absolute-weaver' ), ), array( 'val' => 'post-before', 'desc' => esc_html__( 'Beside Post, no wrap', 'absolute-weaver' ), ), array( 'val' => 'post-bg', 'desc' => esc_html__( 'As BG Image, Tile', 'absolute-weaver' ), ), array( 'val' => 'post-bg-cover', 'desc' => esc_html__( 'As BG Image, Cover', 'absolute-weaver' ), ), array( 'val' => 'post-bg-parallax', 'desc' => esc_html__( 'As BG Image, Parallax', 'absolute-weaver' ), ), array( 'val' => 'post-bg-parallax-full', 'desc' => esc_html__( 'As BG Image, Parallax Full', 'absolute-weaver' ), ), array( 'val' => 'hide', 'desc' => esc_html__( 'Hide FI for this Post', 'absolute-weaver' ), ), ), ); absolute_weaver_pp_pp_select_id( $opts3 ); absolute_weaver_html_br( 2 ); absolute_weaver_pp_page_title( esc_html__( 'Post Title', 'absolute-weaver' ), 80, 1 ); absolute_weaver_pp_page_checkbox( '_pp_hide_post_title', esc_html__( 'Hide post title (all views)', 'absolute-weaver' ), 40, 2 ); echo '
'; } function absolute_weaver_post_single_opts() { global $post; ?>

'_pp_fi_location', 'info' => __( "Override Single Page setting for where to display FI. Don't forget blog view, too.", 'absolute-weaver' ), 'value' => array( array( 'val' => '', 'desc' => esc_html__( 'Default Blog FI', 'absolute-weaver' ), ), array( 'val' => 'content-top', 'desc' => esc_html__( 'With Content - top', 'absolute-weaver' ), ), array( 'val' => 'content-bottom', 'desc' => esc_html__( 'With Content - bottom', 'absolute-weaver' ), ), array( 'val' => 'title-before', 'desc' => esc_html__( 'With Title', 'absolute-weaver' ), ), array( 'val' => 'title-banner', 'desc' => esc_html__( 'Banner above Title', 'absolute-weaver' ), ), array( 'val' => 'header-image', 'desc' => esc_html__( 'Header Image Replacement', 'absolute-weaver' ), ), array( 'val' => 'post-before', 'desc' => esc_html__( 'Beside Page, no wrap', 'absolute-weaver' ), ), array( 'val' => 'post-bg', 'desc' => esc_html__( 'As BG Image, Tile', 'absolute-weaver' ), ), array( 'val' => 'post-bg-cover', 'desc' => esc_html__( 'As BG Image, Cover', 'absolute-weaver' ), ), array( 'val' => 'post-bg-parallax', 'desc' => esc_html__( 'As BG Image, Parallax', 'absolute-weaver' ), ), array( 'val' => 'post-bg-parallax-full', 'desc' => esc_html__( 'As BG Image, Parallax Full', 'absolute-weaver' ), ), array( 'val' => 'hide', 'desc' => esc_html__( 'Hide FI for this Post', 'absolute-weaver' ), ), ), ); absolute_weaver_pp_pp_select_id( $opts3 ); do_action( 'absolute_weaver_ts_pp_fi_link', $post->ID ); echo '
'; } function absolute_weaver_pp_simple_checkbox( $opt, $msg ) { global $post; ?>
' '; } } function absolute_weaver_pp_page_title( $msg, $width = 33, $br = 0 ) { if ( $width != 'auto' ) { $width = "{$width}%"; } ?>
'; } } function absolute_weaver_pp_save_post_fields_action( $post_id ) { // some of these options will be fully implemented in the Absolute Weaver Plus plugin $default_post_fields = array( '_pp_category', '_pp_tag', '_pp_onepost', '_pp_orderby', '_pp_sort_order', '_pp_author', '_pp_posts_per_page', '_pp_post_type', '_pp_hide_sticky', '_pp_fi_link', '_pp_fi_location', '_pp_post_fi_location', '_pp_post_styles', '_pp_hide_page_title', '_pp_hide_post_title', '_pp_hide_infotop', '_pp_hide_infobottom', '_pp_page_layout', '_pp_wvrx_pwp_type', '_pp_wvrx_pwp_cols', '_pp_hide_n_posts', '_pp_fullposts', '_pp_container_full', '_pp_header_html', '_pp_footer_html', '_pp_elementor_header_replacement', '_pp_elementor_footer_replacement', '_pp_siteorigin_header_replacement', '_pp_elementor_footer_replacement', '_pp_pb_header_hide_menus', '_pp_pb_header_replace_page_id', '_pp_pb_footer_replace_page_id', ); $all_post_fields = $default_post_fields; // A significant portion of the per page/post options can have html. // Rather than use esc_html on some, and wp_kses_post on others, // we just use wp_kses_post on them all - the results are the same. if ( isset( $_POST['post_meta'] ) ) { foreach ( $all_post_fields as $post_field ) { if ( isset( $_POST[ $post_field ] ) ) { $data = sanitize_text_field( wp_unslash( $_POST[ $post_field ] ) ); if ( $post_field != '_pp_post_styles' ) { $data = stripslashes( $data ); // passed via post, so strip slashes } if ( get_post_meta( $post_id, $post_field ) == '' ) { add_post_meta( $post_id, $post_field, wp_kses_post( $data ), true ); } elseif ( $data != get_post_meta( $post_id, $post_field, true ) ) { update_post_meta( $post_id, $post_field, wp_kses_post( $data ) ); } elseif ( $data == '' ) { delete_post_meta( $post_id, $post_field, get_post_meta( $post_id, $post_field, true ) ); } } else { delete_post_meta( $post_id, $post_field, get_post_meta( $post_id, $post_field, true ) ); } } } } function absolute_weaver_html_br( $count = 1 ) { for ( $i = 0; $i < $count; $i ++ ) { echo '
'; } } add_action( 'save_post', 'absolute_weaver_pp_save_post_fields_action' ); add_action( 'publish_post', 'absolute_weaver_pp_save_post_fields_action' );