*/ if(!defined('ABSPATH')){ die('HACKING ATTEMPT!'); } function siteseo_metabox_form_html(&$metabox_data){ global $siteseo, $post, $pagenow, $typenow; $data_attr = []; $data_attr['data_tax'] = ''; $data_attr['termId'] = ''; if('post-new.php' == $pagenow || 'post.php' == $pagenow){ $data_attr['current_id'] = get_the_id(); $data_attr['origin'] = 'post'; $data_attr['title'] = get_the_title($data_attr['current_id']); } elseif('term.php' == $pagenow || 'edit-tags.php' == $pagenow){ global $tag; $data_attr['current_id'] = $tag->term_id; $data_attr['termId'] = $tag->term_id; $data_attr['origin'] = 'term'; $data_attr['data_tax'] = $tag->taxonomy; $data_attr['title'] = $tag->name; } $data_attr['isHomeId'] = get_option('page_on_front'); if($data_attr['isHomeId'] === '0'){ $data_attr['isHomeId'] = ''; } // Static Data $home_url = home_url(); $parsed_url = parse_url($home_url); $host_uri = $parsed_url['host']; $social_placeholder = SITESEO_ASSETS_DIR . '/img/social-placeholder.png'; $metabox_tag_drop_kses = [ 'button' => [ 'class' => true, 'type' => true, ], 'span' => [ 'class' => true, ], 'div' => [ 'class' => true, 'style' => true, ], 'input' => [ 'type' => true, 'class' => true, 'name' => true, 'spellcheck' => true, 'placeholder' => true, ], 'ul' => true, 'li' => [ 'class' => true, 'data-*' => true, 'tabindex' => true, ] ]; $siteseo_metabox_tabs = [ 'content-analysis' => __('Content Analysis', 'siteseo') ]; if($typenow != 'siteseo_404'){ $siteseo_metabox_tabs['title-settings'] = __('Title', 'siteseo'); $siteseo_metabox_tabs['social-settings'] = __('Social', 'siteseo'); $siteseo_metabox_tabs['advanced-settings'] = __('Advanced', 'siteseo'); } $siteseo_metabox_tabs['redirect'] = __('Redirects', 'siteseo'); echo '
'; foreach($siteseo_metabox_tabs as $siteseo_metabox_tab => $siteseo_metabox_tab_title){ $selected_metabox_tab = ''; // We don't want to show the content analysis to everyone. if(empty($siteseo->display_ca_metaboxe) && $siteseo_metabox_tab === 'content-analysis'){ continue; } if($siteseo_metabox_tab === 'content-analysis'){ $selected_metabox_tab = 'siteseo-metabox-tab-label-active'; } if(empty($siteseo->display_ca_metaboxe) && $siteseo_metabox_tab === 'title-settings'){ $selected_metabox_tab = 'siteseo-metabox-tab-label-active'; } echo '
'.esc_html($siteseo_metabox_tab_title).'
'; } $home_url = home_url(); $parsed_home_url = parse_url($home_url); $meta_desc_percentage = '1'; if(!empty($metabox_data['meta_desc'])){ $meta_desc_percentage = (strlen($metabox_data['meta_desc'])/160)*100; } elseif(!empty($metabox_data['excerpt'])){ $meta_desc_percentage = (strlen($metabox_data['excerpt'])/160)*100; } if(intval($meta_desc_percentage) > 100){ $meta_desc_percentage = '100'; } $meta_title_percentage = '1'; if(!empty($metabox_data['meta_title'])){ $meta_title_percentage = (strlen($metabox_data['meta_title'])/60)*100; } else if(!empty($metabox_data['title'])){ $meta_title_percentage = (strlen($metabox_data['title'])/60)*100; } if(intval($meta_title_percentage) > 100){ $meta_title_percentage = '100'; } echo '
'; if(!empty($siteseo->display_ca_metaboxe)){ echo '
'.esc_html__('Content Analysis', 'siteseo').'
'; siteseo_content_analysis($post); echo'
'; } echo '
'.esc_html__('Title', 'siteseo').'
'.esc_html__('Show Mobile version', 'siteseo').'

'.(!empty($metabox_data['meta_title']) ? esc_html(siteseo_resolve_text($metabox_data['meta_title'])) : (!empty($metabox_data['title']) ? esc_html($metabox_data['title']) : 'Post Title here')).'

'.(!empty($metabox_data['meta_desc']) ? esc_html(siteseo_resolve_text($metabox_data['meta_desc'])) : (!empty($metabox_data['excerpt']) ? esc_html($metabox_data['excerpt']) : 'Post description')).'
'.wp_kses(siteseo_render_dyn_variables('tag-title siteseo-metabox-tag'), $metabox_tag_drop_kses).'
'.esc_html(strlen($metabox_data['meta_title'])).' out of 60 max recommended characters
'.wp_kses(siteseo_render_dyn_variables('tag-description siteseo-metabox-tag'), $metabox_tag_drop_kses).'
'.esc_html(strlen($metabox_data['meta_desc'])).' out of 160 max recommended characters
'.esc_html__('Social', 'siteseo').'
Facebook
X(Twitter)
Facebook preview
'.(!empty($host_uri) ? esc_html($host_uri) : '').'
'.(!empty($metabox_data['fb_title']) ? esc_html($metabox_data['fb_title']) : esc_html($metabox_data['meta_title'])).'
'.(!empty($metabox_data['fb_desc']) ? esc_html($metabox_data['fb_desc']) : esc_html($metabox_data['meta_desc'])).'

'.esc_html__('Minimum size: 200x200px, ideal ratio 1.91:1, 8Mb max. (eg: 1640x856px or 3280x1712px for retina screens).', 'siteseo').'

X preview
'.(!empty($metabox_data['x_title']) ? esc_html($metabox_data['x_title']) : esc_html($metabox_data['meta_title'])).'
From '.(!empty($host_uri) ? esc_html($host_uri) : '').'

'.esc_html__('Minimum size: 144x144px (300x157px with large card enabled), ideal ratio 1:1 (2:1 with large card), 5Mb max.', 'siteseo').'

'.esc_html__('Advanced', 'siteseo').'

'. wp_kses_post(sprintf(__('You cannot uncheck a checkbox? This is normal, and it\'s most likely defined in the global settings of the plugin.', 'siteseo'), esc_url(admin_url('admin.php?page=siteseo-titles#tab=tab_siteseo_titles_single')))).'

'; $robots_options = [ 'siteseo_robots_index_meta' => [ 'desc' => __('Do not display this page in search engine results / Sitemaps', 'siteseo'), 'short' => 'noindex', 'name' => 'siteseo_robots_index', 'checked' => $metabox_data['robots_index'], 'disabled' => $metabox_data['disabled_robots']['robots_index'] ], 'siteseo_robots_follow_meta' => [ 'desc' => __('Do not follow links for this page', 'siteseo'), 'short' => 'nofollow', 'name' => 'siteseo_robots_follow', 'checked' => $metabox_data['robots_follow'], 'disabled' => $metabox_data['disabled_robots']['robots_follow'] ], 'siteseo_robots_imageindex_meta' => [ 'desc' => __('Do not index images for this page', 'siteseo'), 'short' => 'noimageindex', 'name' => 'siteseo_robots_imageindex', 'checked' => $metabox_data['robots_imageindex'], 'disabled' => $metabox_data['disabled_robots']['imageindex'] ], 'siteseo_robots_archive_meta' => [ 'desc' => __('Do not display a "Cached" link in the Google search results', 'siteseo'), 'short' => 'noarchive', 'name' => 'siteseo_robots_archive', 'checked' => $metabox_data['robots_archive'], 'disabled' => $metabox_data['disabled_robots']['archive'] ], 'siteseo_robots_snippet_meta' => [ 'desc' => __('Do not display a description in search results for this page', 'siteseo'), 'short' => 'nosnippet', 'name' => 'siteseo_robots_snippet', 'checked' => $metabox_data['robots_snippet'], 'disabled' => $metabox_data['disabled_robots']['snippet'] ] ]; foreach($robots_options as $robots_id => $robots_option){ $checked = ''; if(!empty($robots_option['checked'])){ $checked = 'checked'; } $disabled = ''; if(!empty($robots_option['disabled'])){ $disabled = 'disabled'; $robots_option['name'] = ''; } echo ''; } echo '
'; if(!empty($pagenow) && !empty($typenow) && ($pagenow == 'post.php' || $pagenow == 'post-new.php') && ($typenow == 'post' || $typenow == 'product')){ $categories = (object)[]; if($typenow == 'product'){ $categories = get_the_terms($post, 'product_cat'); } else { $categories = get_categories(); } if(!empty($categories) && !is_wp_error($categories)){ echo '
'; } } echo '
'.esc_html__('Redirects', 'siteseo').'
'; if($typenow === 'siteseo_404'){ echo '
'; } echo '
'; } function siteseo_resolve_text($text){ global $pagenow; // The text does not have any variable. if(strpos($text, '%%') === FALSE){ return $text; } $post_id = get_the_id(); if('term.php' == $pagenow || 'edit-tags.php' == $pagenow){ global $tag; $post_id = $tag->term_id; $term_id = $tag->term_id; } $home_id = (int) get_option('page_on_front'); $contextPage = siteseo_get_service('ContextPage')->buildContextWithCurrentId($post_id); if(isset($post_id)){ $contextPage->setPostById($post_id); $contextPage->setIsSingle(true); $terms = get_the_terms($post_id, 'post_tag'); if(!empty($terms)){ $contextPage->setHasTag(true); } $categories = get_the_terms($post_id, 'category'); if(!empty($categories)){ $contextPage->setHasCategory(true); } } if($post_id === $home_id && null !== $home_id){ $contextPage->setIsHome(true); } if(isset($term_id) && $term_id !== null && $post_id === $term_id){ $contextPage->setIsCategory(true); $contextPage->setTermId($term_id); } $resolved_text = siteseo_get_service('TagsToString')->replace($text, $contextPage->getContext()); return $resolved_text; }