1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078 |
- <?php
- /**
- * Template functions.
- *
- * @package Pen
- */
- if ( ! function_exists( 'pen_html_logo' ) ) {
- /**
- * Displays the custom logo.
- *
- * Does nothing if the custom logo is not available.
- *
- * @since Pen 1.0.0
- * @return string
- */
- function pen_html_logo() {
- if ( function_exists( 'get_custom_logo' ) && pen_option_get( 'header_logo_display' ) ) {
- $logo = trim( get_custom_logo() );
- if ( $logo ) {
- return sprintf(
- '<div class="pen_logo %1$s">%2$s</div>',
- pen_class_animation( 'header_logo', false ),
- $logo
- );
- }
- }
- return '';
- }
- }
- if ( ! function_exists( 'pen_html_connect' ) ) {
- /**
- * Generates markup for the social network links.
- *
- * @param string $location The location of the social network links (for now it can be header or footer).
- *
- * @since Pen 1.0.0
- * @return string
- */
- function pen_html_connect( $location ) {
- ob_start( 'pen_compress_html' );
- $rss_display = pen_option_get( 'rss_' . $location . '_display' );
- $rss_url = pen_option_get( 'rss' );
- if ( $rss_url && $rss_display ) {
- $rss_url = explode( '|', $rss_url );
- foreach ( $rss_url as $rss_url ) {
- ?>
- <li class="pen_rss" title="<?php esc_attr_e( 'Subscribe the RSS', 'pen' ); ?>">
- <a href="<?php echo esc_url( $rss_url ); ?>">
- <span class="screen-reader-text">
- <?php
- esc_html_e( 'RSS', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <?php
- }
- }
- $email_display = pen_option_get( 'email_' . $location . '_display' );
- $email = pen_option_get( 'email' );
- if ( $email && $email_display ) {
- $email = explode( '|', $email );
- foreach ( $email as $email ) {
- if ( false !== strpos( $email, '@' ) ) {
- $email = 'mailto:' . antispambot( $email );
- }
- ?>
- <li class="pen_email" title="<?php esc_attr_e( 'E-mail', 'pen' ); ?>">
- <a href="<?php echo esc_url( $email ); ?>">
- <span class="screen-reader-text">
- <?php
- esc_html_e( 'E-mail', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <?php
- }
- }
- $facebook_display = pen_option_get( 'facebook_' . $location . '_display' );
- $facebook_url = pen_option_get( 'facebook' );
- if ( $facebook_url && $facebook_display ) {
- $facebook_url = explode( '|', $facebook_url );
- foreach ( $facebook_url as $facebook_url ) {
- ?>
- <li class="pen_facebook" title="<?php esc_attr_e( 'Facebook', 'pen' ); ?>">
- <a href="<?php echo esc_url( $facebook_url ); ?>">
- <span class="screen-reader-text">
- <?php
- esc_html_e( 'Facebook', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <?php
- }
- }
- $instagram_display = pen_option_get( 'instagram_' . $location . '_display' );
- $instagram_url = pen_option_get( 'instagram' );
- if ( $instagram_url && $instagram_display ) {
- $instagram_url = explode( '|', $instagram_url );
- foreach ( $instagram_url as $instagram_url ) {
- ?>
- <li class="pen_instagram" title="<?php esc_attr_e( 'Instagram', 'pen' ); ?>">
- <a href="<?php echo esc_url( $instagram_url ); ?>">
- <span class="screen-reader-text">
- <?php
- esc_html_e( 'Instagram', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <?php
- }
- }
- $vk_display = pen_option_get( 'vk_' . $location . '_display' );
- $vk_url = pen_option_get( 'vk' );
- if ( $vk_url && $vk_display ) {
- $vk_url = explode( '|', $vk_url );
- foreach ( $vk_url as $vk_url ) {
- ?>
- <li class="pen_vk" title="<?php esc_attr_e( 'VK', 'pen' ); ?>">
- <a href="<?php echo esc_url( $vk_url ); ?>">
- <span class="screen-reader-text">
- <?php
- esc_html_e( 'VK', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <?php
- }
- }
- $pinterest_display = pen_option_get( 'pinterest_' . $location . '_display' );
- $pinterest_url = pen_option_get( 'pinterest' );
- if ( $pinterest_url && $pinterest_display ) {
- $pinterest_url = explode( '|', $pinterest_url );
- foreach ( $pinterest_url as $pinterest_url ) {
- ?>
- <li class="pen_pinterest" title="<?php esc_attr_e( 'Pinterest', 'pen' ); ?>">
- <a href="<?php echo esc_url( $pinterest_url ); ?>">
- <span class="screen-reader-text">
- <?php
- esc_html_e( 'Pinterest', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <?php
- }
- }
- $twitter_display = pen_option_get( 'twitter_' . $location . '_display' );
- $twitter_url = pen_option_get( 'twitter' );
- if ( $twitter_url && $twitter_display ) {
- $twitter_url = explode( '|', $twitter_url );
- foreach ( $twitter_url as $twitter_url ) {
- ?>
- <li class="pen_twitter" title="<?php esc_attr_e( 'Twitter', 'pen' ); ?>">
- <a href="<?php echo esc_url( $twitter_url ); ?>">
- <span class="screen-reader-text">
- <?php
- esc_html_e( 'Twitter', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <?php
- }
- }
- $linkedin_display = pen_option_get( 'linkedin_' . $location . '_display' );
- $linkedin_url = pen_option_get( 'linkedin' );
- if ( $linkedin_url && $linkedin_display ) {
- $linkedin_url = explode( '|', $linkedin_url );
- foreach ( $linkedin_url as $linkedin_url ) {
- ?>
- <li class="pen_linkedin" title="<?php esc_attr_e( 'LinkedIn', 'pen' ); ?>">
- <a href="<?php echo esc_url( $linkedin_url ); ?>">
- <span class="screen-reader-text">
- <?php
- esc_html_e( 'LinkedIn', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <?php
- }
- }
- $bitbucket_display = pen_option_get( 'bitbucket_' . $location . '_display' );
- $bitbucket_url = pen_option_get( 'bitbucket' );
- if ( $bitbucket_url && $bitbucket_display ) {
- $bitbucket_url = explode( '|', $bitbucket_url );
- foreach ( $bitbucket_url as $bitbucket_url ) {
- ?>
- <li class="pen_bitbucket" title="<?php esc_attr_e( 'BitBucket', 'pen' ); ?>">
- <a href="<?php echo esc_url( $bitbucket_url ); ?>">
- <span class="screen-reader-text">
- <?php
- esc_html_e( 'BitBucket', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <?php
- }
- }
- $flickr_display = pen_option_get( 'flickr_' . $location . '_display' );
- $flickr_url = pen_option_get( 'flickr' );
- if ( $flickr_url && $flickr_display ) {
- $flickr_url = explode( '|', $flickr_url );
- foreach ( $flickr_url as $flickr_url ) {
- ?>
- <li class="pen_flickr" title="<?php esc_attr_e( 'Flickr', 'pen' ); ?>">
- <a href="<?php echo esc_url( $flickr_url ); ?>">
- <span class="screen-reader-text">
- <?php
- esc_html_e( 'Flickr', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <?php
- }
- }
- $github_display = pen_option_get( 'github_' . $location . '_display' );
- $github_url = pen_option_get( 'github' );
- if ( $github_url && $github_display ) {
- $github_url = explode( '|', $github_url );
- foreach ( $github_url as $github_url ) {
- ?>
- <li class="pen_github" title="<?php esc_attr_e( 'Github', 'pen' ); ?>">
- <a href="<?php echo esc_url( $github_url ); ?>">
- <span class="screen-reader-text">
- <?php
- esc_html_e( 'Github', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <?php
- }
- }
- $telegram_display = pen_option_get( 'telegram_' . $location . '_display' );
- $telegram_url = pen_option_get( 'telegram' );
- if ( $telegram_url && $telegram_display ) {
- $telegram_url = explode( '|', $telegram_url );
- foreach ( $telegram_url as $telegram_url ) {
- ?>
- <li class="pen_telegram" title="<?php esc_attr_e( 'Telegram', 'pen' ); ?>">
- <a href="<?php echo esc_url( $telegram_url ); ?>">
- <span class="screen-reader-text">
- <?php
- esc_html_e( 'Telegram', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <?php
- }
- }
- $whatsapp_display = pen_option_get( 'whatsapp_' . $location . '_display' );
- $whatsapp_url = pen_option_get( 'whatsapp' );
- if ( $whatsapp_url && $whatsapp_display ) {
- $whatsapp_url = explode( '|', $whatsapp_url );
- foreach ( $whatsapp_url as $whatsapp_url ) {
- ?>
- <li class="pen_whatsapp" title="<?php esc_attr_e( 'WhatsApp', 'pen' ); ?>">
- <a href="<?php echo esc_attr( $whatsapp_url ); ?>">
- <span class="screen-reader-text">
- <?php
- esc_html_e( 'WhatsApp', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <?php
- }
- }
- $skype_display = pen_option_get( 'skype_' . $location . '_display' );
- $skype_url = pen_option_get( 'skype' );
- if ( $skype_url && $skype_display ) {
- $skype_url = explode( '|', $skype_url );
- foreach ( $skype_url as $skype_url ) {
- ?>
- <li class="pen_skype" title="<?php esc_attr_e( 'Skype', 'pen' ); ?>">
- <a href="<?php echo esc_attr( $skype_url ); ?>">
- <span class="screen-reader-text">
- <?php
- esc_html_e( 'Skype', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <?php
- }
- }
- $slack_display = pen_option_get( 'slack_' . $location . '_display' );
- $slack_url = pen_option_get( 'slack' );
- if ( $slack_url && $slack_display ) {
- $slack_url = explode( '|', $slack_url );
- foreach ( $slack_url as $slack_url ) {
- ?>
- <li class="pen_slack" title="<?php esc_attr_e( 'Slack', 'pen' ); ?>">
- <a href="<?php echo esc_url( $slack_url ); ?>">
- <span class="screen-reader-text">
- <?php
- esc_html_e( 'Slack', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <?php
- }
- }
- $output = ob_get_clean();
- if ( $output ) {
- return '<div class="pen_social_networks pen_animate_on_scroll pen_custom_animation_fadeIn"><ul>' . $output . '</ul></div><!-- .pen_social_networks -->';
- }
- return false;
- }
- }
- if ( ! function_exists( 'pen_html_search_box' ) ) {
- /**
- * Generates markup for the search box.
- *
- * @since Pen 1.0.0
- * @return string
- */
- function pen_html_search_box() {
- $search_display = get_post_meta( get_the_ID(), 'pen_content_search_display_override', true );
- if ( ! $search_display || 'default' === $search_display ) {
- $search_display = pen_option_get( 'search_display' );
- }
- if ( $search_display && 'no' !== $search_display ) {
- return trim( get_search_form( false ) );
- }
- return false;
- }
- }
- if ( ! function_exists( 'pen_html_navigation_fallback' ) ) {
- /**
- * Fallback navigation menu.
- *
- * @since Pen 1.0.8
- * @return void
- */
- function pen_html_navigation_fallback() {
- if ( current_user_can( 'edit_theme_options' ) ) {
- ?>
- <nav id="pen_navigation" class="<?php echo esc_attr( pen_class_navigation() ); ?>" role="navigation" title="<?php esc_html_e( 'This is a shortcut link for users with theme customization permission, invisible for the rest.', 'pen' ); ?>" aria-label="<?php esc_attr_e( 'Header Menu', 'pen' ); ?>">
- <div class="pen_container <?php pen_class_animation( 'navigation' ); /* phpcs:ignore */ ?>">
- <ul id="primary-menu" class="menu">
- <li class="pen_menu_create">
- <?php
- if ( is_customize_preview() ) {
- $url = '#';
- $attributes = ' class="pen_customizer_shortcut" data-type="panel" data-target="nav_menus"';
- } else {
- $url = esc_url( self_admin_url( 'nav-menus.php' ) );
- $attributes = '';
- }
- printf(
- '<a href="%1$s"%2$s>%3$s</a>',
- esc_attr( $url ),
- $attributes, /* phpcs:ignore */
- esc_html__( 'Create a menu?', 'pen' )
- );
- ?>
- </li>
- </ul>
- </div>
- <?php
- pen_html_jump_menu( 'navigation' );
- ?>
- </nav>
- <?php
- }
- }
- }
- if ( ! function_exists( 'pen_html_footer_menu_fallback' ) ) {
- /**
- * Fallback footer menu.
- *
- * @since Pen 1.0.8
- * @return void
- */
- function pen_html_footer_menu_fallback() {
- if ( current_user_can( 'edit_theme_options' ) ) {
- ?>
- <nav id="pen_footer_menu" role="navigation" class="<?php pen_class_animation( 'footer_menu' ); /* phpcs:ignore */ ?>" title="<?php esc_html_e( 'This is a shortcut link for users with theme customization permission, invisible for the rest.', 'pen' ); ?>" aria-label="<?php esc_attr_e( 'Footer Menu', 'pen' ); ?>">
- <ul id="secondary-menu" class="menu">
- <li class="pen_menu_create">
- <?php
- if ( is_customize_preview() ) {
- $url = '#';
- $attributes = ' class="pen_customizer_shortcut" data-type="panel" data-target="nav_menus"';
- } else {
- $url = esc_url( self_admin_url( 'nav-menus.php' ) );
- $attributes = '';
- }
- printf(
- '<a href="%1$s"%2$s>%3$s</a>',
- esc_attr( $url ),
- $attributes, /* phpcs:ignore */
- esc_html__( 'Create a menu?', 'pen' )
- );
- ?>
- </li>
- </ul>
- </nav>
- <?php
- }
- }
- }
- if ( ! function_exists( 'pen_html_content_information' ) ) {
- /**
- * Prints HTML with meta information for the current post-date/time and author.
- *
- * @param string $location The selected location for the element.
- *
- * @since Pen 1.0.0
- * @return string
- */
- function pen_html_content_information( $location ) {
- if ( 'post' !== get_post_type() ) {
- return;
- }
- if ( ! in_array( (string) $location, array( 'header', 'footer' ), true ) ) {
- $location = 'header';
- }
- $view = is_singular() ? 'content' : 'list';
- $post_id = get_the_ID();
- // Hide category for pages.
- $categories_list = '';
- $category_location = get_post_meta( $post_id, 'pen_' . $view . '_category_location_override', true );
- if ( ! $category_location || 'default' === $category_location ) {
- $category_location = pen_option_get( $view . '_category_location' );
- }
- if ( $location === $category_location || ( ! $category_location && 'header' === $location ) ) {
- /* Translators: used between list items, there is a space after the comma */
- $categories_list = get_the_category_list( '||' );
- if ( pen_option_get( 'pen_' . $view . '_category_only_first' ) && false !== strpos( $categories_list, '||' ) ) {
- $categories_list = explode( '||', $categories_list );
- $categories_list = $categories_list[0];
- }
- $categories_list = str_replace( '||', _x( ', ', 'Separates category links.', 'pen' ), $categories_list );
- if ( $categories_list ) {
- $categories_list = sprintf(
- '<span class="cat-links%1$s"><span class="screen-reader-text">%2$s</span>%3$s</span>',
- pen_class_lists( 'category_display_override' ),
- __( 'Categories:', 'pen' ),
- $categories_list
- ); /* phpcs:ignore */
- }
- }
- $posted_on = '';
- $date_location = get_post_meta( $post_id, 'pen_' . $view . '_date_location_override', true );
- if ( ! $date_location || 'default' === $date_location ) {
- $date_location = pen_option_get( $view . '_date_location' );
- }
- if ( $location === $date_location || ( ! $date_location && 'header' === $location ) ) {
- $time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
- if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
- $time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>';
- }
- $time_string = sprintf(
- $time_string,
- esc_attr( get_the_date( 'DATE_W3C' ) ),
- esc_html( get_the_date() ),
- esc_attr( get_the_modified_date( 'DATE_W3C' ) ),
- esc_html( get_the_modified_date() )
- );
- $posted_on = sprintf(
- /* Translators: %s: Post date. */
- esc_html_x( 'Posted on %s', 'post date', 'pen' ),
- '<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>'
- );
- $posted_on = sprintf(
- '<span class="posted-on%1$s">%2$s</span>',
- pen_class_lists( 'date_display_override' ),
- $posted_on
- );
- }
- $byline = '';
- $author_location = get_post_meta( get_the_ID(), 'pen_' . $view . '_author_location_override', true );
- if ( ! $author_location || 'default' === $author_location ) {
- $author_location = pen_option_get( $view . '_author_location' );
- }
- if ( $location === $author_location || ( ! $author_location && 'header' === $location ) ) {
- $byline = sprintf(
- // Translators: %s: Post author's name.
- esc_html_x( 'by %s', 'post author', 'pen' ),
- '<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a></span>'
- );
- $byline = sprintf(
- '<span class="byline%1$s"> %2$s</span>',
- pen_class_lists( 'author_display_override' ),
- $byline
- );
- }
- $output = trim( $posted_on . $byline . $categories_list );
- $classes = trim(
- implode(
- ' ',
- array(
- 'entry-meta',
- is_singular() ? 'pen_animate_on_scroll pen_custom_animation_fadeIn' : '',
- )
- )
- );
- if ( '' !== trim( $output ) ) {
- return '<div class="' . $classes . '">' . $output . '</div>';
- }
- }
- }
- if ( ! function_exists( 'pen_html_author' ) ) {
- /**
- * Generates author profile.
- *
- * @param array $variables Profile parameteres.
- *
- * @since Pen 1.0.0
- * @return void
- */
- function pen_html_author( $variables = array() ) {
- $view = is_singular() ? 'content' : 'list';
- $display = get_post_meta( get_the_ID(), 'pen_' . $view . '_profile_display_override', true );
- if ( ! $display || 'default' === $display ) {
- $display = pen_option_get( $view . '_profile_display' );
- }
- if ( ! $display ) {
- return;
- }
- $avatar = get_avatar( get_the_author_meta( 'email' ), '90' );
- $user_url = get_the_author_meta( 'user_url' );
- $add_link = ( $user_url && ( ! isset( $variables['add_url'] ) || $variables['add_url'] ) ) ? true : false;
- $classes = trim(
- implode(
- ' ',
- array(
- 'pen_author_profile',
- pen_class_animation( ( is_singular() ? 'content' : 'list' ) . '_author', false ),
- $avatar ? 'pen_has_avatar' : '',
- )
- )
- );
- ?>
- <div class="<?php echo esc_attr( $classes ); ?>">
- <?php
- if ( $avatar && ( ! isset( $variables['add_avatar'] ) || $variables['add_avatar'] ) ) {
- ?>
- <div class="pen_author_avatar">
- <?php
- if ( $add_link ) {
- ?>
- <a href="<?php echo esc_url( $user_url ); ?>">
- <?php
- }
- echo $avatar; /* phpcs:ignore */
- if ( $add_link ) {
- ?>
- </a>
- <?php
- }
- ?>
- </div>
- <?php
- }
- $description = wp_kses( get_the_author_meta( 'description' ), wp_kses_allowed_html( 'post' ) );
- $classes = trim(
- implode(
- ' ',
- array(
- 'pen_author_about',
- ( ! $description ) ? 'pen_no_description' : '',
- )
- )
- );
- ?>
- <div class="<?php echo esc_attr( $classes ); ?>">
- <h3>
- <?php
- the_author_link();
- ?>
- </h3>
- <?php
- ob_start( 'trim' );
- if ( $user_url && ( ! isset( $variables['add_url'] ) || $variables['add_url'] ) ) {
- $site_name = wp_parse_url( $user_url );
- if ( isset( $site_name['host'] ) ) {
- $site_name = $site_name['host'];
- } else {
- $site_name = $user_url;
- }
- ?>
- <a href="<?php echo esc_url( $user_url ); ?>" class="pen_author_url">
- <?php
- echo esc_html( $site_name );
- ?>
- </a>
- <?php
- }
- if ( $description ) {
- ?>
- <p>
- <?php
- echo $description; /* phpcs:ignore */
- ?>
- </p>
- <?php
- }
- $about = ob_get_clean();
- if ( $about ) {
- ?>
- <div>
- <?php
- echo $about; /* phpcs:ignore */
- ?>
- </div>
- <?php
- }
- ?>
- </div>
- </div>
- <?php
- }
- }
- if ( ! function_exists( 'pen_html_share' ) ) {
- /**
- * Social sharing buttons.
- *
- * @global $post
- * @param string $location The selected location.
- *
- * @since Pen 1.0.0
- * @return string
- */
- function pen_html_share( $location ) {
- ob_start( 'pen_compress_html' );
- if ( ! is_singular() ) {
- return;
- }
- if ( ! in_array( (string) $location, array( 'header', 'content', 'footer' ), true ) ) {
- $location = 'header';
- }
- $share_location = get_post_meta( get_the_ID(), 'pen_content_share_location_override', true );
- if ( ! $share_location || 'default' === $share_location ) {
- $share_location = pen_option_get( 'content_share_location' );
- }
- if ( $share_location !== $location ) {
- return;
- }
- $display = get_post_meta( get_the_ID(), 'pen_content_share_display_override', true );
- if ( ! $display || 'default' === $display ) {
- $display = pen_option_get( 'content_share_display' );
- }
- if ( ! $display || 'no' === $display ) {
- return;
- }
- global $post;
- $url = rawurlencode( esc_url( get_permalink( $post->ID ) ) );
- $title = rawurlencode( $post->post_title );
- $facebook_url = sprintf( 'https://www.facebook.com/sharer/sharer.php?u=%1$s', $url );
- $twitter_url = sprintf( 'https://twitter.com/intent/tweet?text=%2$s&url=%1$s', $url, $title );
- ?>
- <div class="pen_share">
- <h4>
- <?php
- esc_html_e( 'Share this!', 'pen' );
- ?>
- </h4>
- <ul>
- <li class="pen_facebook">
- <a href="<?php echo esc_url( $facebook_url ); ?>" title="<?php esc_attr_e( 'Share on Facebook', 'pen' ); ?>" target="_blank" class="pen_button pen_button_share">
- <span>
- <?php
- esc_html_e( 'Facebook', 'pen' );
- ?>
- </span>
- </a>
- </li>
- <li class="pen_twitter">
- <a href="<?php echo esc_url( $twitter_url ); ?>" title="<?php esc_attr_e( 'Share on Twitter', 'pen' ); ?>" target="_blank" class="pen_button pen_button_share">
- <span>
- <?php
- esc_html_e( 'Twitter', 'pen' );
- ?>
- </span>
- </a>
- </li>
- </ul>
- </div><!-- .pen_share -->
- <?php
- return ob_get_clean();
- }
- }
- if ( ! function_exists( 'pen_html_configuration_overview' ) ) {
- /**
- * Displays an overview of the post meta settings.
- *
- * @param integer $post_id The post ID.
- * @since Pen 1.0.0
- * @return string
- */
- function pen_html_configuration_overview( $post_id = false ) {
- if ( ! current_user_can( 'edit_posts' ) ) {
- return;
- }
- if ( ! $post_id ) {
- $post_id = get_the_ID();
- }
- ob_start( 'pen_compress_html' );
- $overview_list = array();
- $overview_content = array();
- $overview_sidebars = array();
- $customize_display = false;
- $edit_post_display = false;
- $options_list = pen_post_meta_options( 'list' );
- foreach ( $options_list as $option => $label ) {
- $value = get_post_meta( $post_id, $option, true );
- if ( $value && 'default' !== $value ) {
- $edit_post_display = true;
- $overview_list[ $option ] = array(
- 'status' => ( 'no' === $value ) ? 'disabled' : 'enabled',
- 'label' => $label,
- 'value' => $value,
- 'help' => __( 'You can change this by editing this post.', 'pen' ),
- );
- }
- }
- $options_content = pen_post_meta_options( 'content' );
- foreach ( $options_content as $option => $label ) {
- $value = get_post_meta( $post_id, $option, true );
- if ( $value && 'default' !== $value ) {
- $edit_post_display = true;
- $overview_content[ $option ] = array(
- 'status' => ( 'no' === $value ) ? 'disabled' : 'enabled',
- 'label' => $label,
- 'value' => $value,
- 'help' => __( 'You can change this by editing this post.', 'pen' ),
- );
- }
- }
- $options_sidebars = pen_post_meta_options( 'sidebar' );
- foreach ( $options_sidebars as $sidebar => $name ) {
- if ( ( is_home() || is_front_page() ) && is_singular() ) {
- if ( pen_option_get( str_replace( 'pen_', 'pen_front_', $sidebar ) ) ) {
- $customize_display = true;
- $overview_sidebars[ $sidebar ] = array(
- 'status' => 'disabled',
- 'label' => sprintf(
- /* Translators: %s: Sidebar name. */
- esc_html__( '%s if on home:', 'pen' ),
- $name
- ),
- 'value' => __( 'Hidden', 'pen' ),
- 'help' => __( 'You can change this through Appearance → Customize → Front page → Sidebars.', 'pen' ),
- );
- }
- }
- if ( get_post_meta( $post_id, $sidebar, true ) ) {
- $edit_post_display = true;
- $overview_sidebars[ $sidebar ] = array(
- 'status' => 'disabled',
- 'label' => sprintf(
- /* Translators: %s: Sidebar name. */
- __( '%s:', 'pen' ),
- ucfirst( str_replace( array( 'pen_sidebar_', '_display', '_' ), array( '', '', ' ' ), $sidebar ) )
- ),
- 'value' => __( 'Hidden', 'pen' ),
- 'help' => __( 'You can change this by editing this post.', 'pen' ),
- );
- }
- }
- if ( empty( $overview_list ) && empty( $overview_content ) && empty( $overview_sidebars ) ) {
- ob_end_clean();
- return;
- }
- ?>
- <div class="pen_options_overview" id="pen_post_overview_<?php echo esc_attr( $post_id ); ?>">
- <h3>
- <?php
- esc_html_e( 'Content settings', 'pen' );
- ?>
- </h3>
- <table>
- <?php
- if ( ! empty( $overview_list ) ) {
- ?>
- <tr>
- <th scope="col" colspan="2">
- <?php
- esc_html_e( 'List views', 'pen' );
- ?>
- </th>
- </tr>
- <?php
- foreach ( $overview_list as $item ) {
- ?>
- <tr class="pen_option_<?php echo esc_attr( $item['status'] ); ?>" title="<?php echo esc_attr( $item['help'] ); ?>">
- <?php
- $value = $item['value'];
- if ( '#000000' === $value ) {
- $value = __( 'Dark', 'pen' );
- } elseif ( '#ffffff' === $value ) {
- $value = __( 'Light', 'pen' );
- }
- ?>
- <td class="pen_overview_item">
- <?php
- echo esc_html( $item['label'] );
- ?>
- </td>
- <td class="pen_overview_value">
- <?php
- echo esc_html( $value );
- ?>
- </td>
- </tr>
- <?php
- }
- }
- if ( $overview_content || $overview_sidebars ) {
- ?>
- <tr>
- <th scope="col" colspan="2">
- <?php
- esc_html_e( 'Full content view', 'pen' );
- ?>
- </th>
- </tr>
- <?php
- foreach ( $overview_content as $item ) {
- ?>
- <tr class="pen_option_<?php echo esc_attr( $item['status'] ); ?>" title="<?php echo esc_attr( $item['help'] ); ?>">
- <?php
- $value = $item['value'];
- if ( '#000000' === $value ) {
- $value = __( 'Dark', 'pen' );
- } elseif ( '#ffffff' === $value ) {
- $value = __( 'Light', 'pen' );
- }
- ?>
- <td class="pen_overview_item">
- <?php
- echo esc_html( $item['label'] );
- ?>
- </td>
- <td class="pen_overview_value">
- <?php
- echo esc_html( $value );
- ?>
- </td>
- </tr>
- <?php
- }
- }
- foreach ( $overview_sidebars as $item ) {
- ?>
- <tr class="pen_option_<?php echo esc_attr( $item['status'] ); ?>" title="<?php echo esc_attr( $item['help'] ); ?>">
- <td class="pen_overview_item">
- <?php
- echo esc_html(
- sprintf(
- /* Translators: %s: sidebar name. */
- __( '"%s" Area', 'pen' ),
- esc_html( $item['label'] )
- )
- );
- ?>
- </td>
- <td class="pen_overview_value">
- <?php
- echo esc_html( $item['value'] );
- ?>
- </td>
- </tr>
- <?php
- }
- ?>
- </table>
- <?php
- if ( $edit_post_display ) {
- ?>
- <a href="<?php echo esc_url( get_edit_post_link( get_the_ID() ) ); ?>" class="pen_button">
- <?php
- echo esc_html(
- sprintf(
- /* Translators: %s: content type, such as "Page", or "Post". */
- __( 'Edit this %s', 'pen' ),
- get_post_type()
- )
- );
- ?>
- </a>
- <?php
- }
- if ( $customize_display ) {
- ?>
- <a href="<?php echo add_query_arg( 'url', rawurlencode( pen_filter_input( 'SERVER', 'REQUEST_URI' ) ), wp_customize_url() ); /* phpcs:ignore */ ?>" class="pen_button">
- <?php
- esc_html_e( 'Edit defaults', 'pen' );
- ?>
- </a>
- <?php
- }
- ?>
- </div>
- <?php
- return ob_get_clean();
- }
- }
- if ( ! function_exists( 'pen_html_jump_menu' ) ) {
- /**
- * Jump menus for easier access to various parts of the backend.
- *
- * @param string $element Layout section or template part.
- *
- * @since Pen 1.0.8
- * @return void
- */
- function pen_html_jump_menu( $element ) {
- if ( ! current_user_can( 'edit_theme_options' ) ) {
- return;
- }
- $menu = pen_jump_menu( $element );
- // This menu has to be hidden when JavaScript is disabled (too many links) unless it's a screen-reader.
- ?>
- <div id="pen_jump_menu_<?php echo esc_attr( $element ); ?>" class="pen_jump_menu clearfix screen-reader-text">
- <div class="pen_menu_wrapper clearfix screen-reader-text">
- <h4>
- <?php
- printf(
- wp_kses(
- /* Translators: %s: layout section name, like Footer, Header, etc. */
- __( 'Customize <span>%s</span>', 'pen' ),
- wp_kses_allowed_html( 'post' )
- ),
- esc_html( $menu['name'] )
- );
- ?>
- </h4>
- <ul>
- <?php
- foreach ( $menu['items'] as $target => $label ) {
- ?>
- <li>
- <?php
- if ( filter_var( $target, FILTER_VALIDATE_URL ) ) {
- $url = esc_url( $target );
- printf(
- '<a href="%1$s">%2$s</a>',
- esc_attr( $url ), // No need to esc_url.
- wp_kses( $label, wp_kses_allowed_html( 'post' ) )
- );
- } else {
- $url = pen_url_customizer( $target );
- list( $container_type, $container_name ) = explode( ',', $target );
- $generic = array(
- 'background_image',
- 'header_image',
- 'nav_menus',
- 'title_tagline',
- 'widgets',
- );
- if ( ! in_array( $container_name, $generic, true ) && false === strpos( $container_name, 'sidebar-widgets-' ) ) {
- $container_name = 'pen_' . $container_type . '_' . $container_name;
- }
- printf(
- '<a href="%1$s" class="pen_customizer_shortcut"%2$s>%3$s</a>',
- esc_attr( $url ), // No need to esc_url.
- sprintf(
- ' data-type="%1$s" data-target="%2$s"',
- esc_attr( $container_type ),
- esc_attr( $container_name )
- ),
- wp_kses( $label, wp_kses_allowed_html( 'post' ) )
- );
- }
- ?>
- </li>
- <?php
- }
- ?>
- </ul>
- </div>
- </div>
- <?php
- }
- }
- if ( ! function_exists( 'pen_html_pagination_content' ) ) {
- /**
- * Inline content pagination.
- *
- * @since Pen 1.4.3
- * @return void
- */
- function pen_html_pagination_content() {
- ob_start( 'pen_compress_html' );
- if ( function_exists( 'wp_pagenavi' ) ) {
- wp_pagenavi(
- array(
- 'type' => 'multipart',
- )
- );
- } else {
- wp_link_pages(
- array(
- 'before' => sprintf(
- '<div class="page-links %1$s"><span class="screen-reader-text">%2$s</span>',
- pen_class_animation( 'content_pager', false ),
- esc_html__( 'Pages:', 'pen' )
- ),
- 'after' => '</div>',
- 'next_or_number' => 'next',
- )
- );
- }
- $pagination = ob_get_clean();
- if ( $pagination ) {
- printf(
- '<div class="pen_content_pagination">%s</div>',
- $pagination /* phpcs:ignore */
- );
- }
- }
- }
|