/**
  * Add dynamically created default options based on available post types and taxonomies
  *
  * @return  void
  */
 public function enrich_defaults()
 {
     $user_roles = YMBESEO_Utils::get_roles();
     $filtered_user_roles = apply_filters('YMBESEO_sitemaps_supported_user_roles', $user_roles);
     if (is_array($filtered_user_roles) && $filtered_user_roles !== array()) {
         foreach ($filtered_user_roles as $role_name => $role_value) {
             $this->defaults['user_role-' . $role_name . '-not_in_sitemap'] = false;
             unset($user_role);
         }
         unset($role_name, $role_value);
     }
     unset($user_roles, $filtered_user_roles);
     $post_type_names = get_post_types(array('public' => true), 'names');
     $filtered_post_types = apply_filters('YMBESEO_sitemaps_supported_post_types', $post_type_names);
     if (is_array($filtered_post_types) && $filtered_post_types !== array()) {
         foreach ($filtered_post_types as $pt) {
             if ($pt !== 'attachment') {
                 $this->defaults['post_types-' . $pt . '-not_in_sitemap'] = false;
             } else {
                 $this->defaults['post_types-' . $pt . '-not_in_sitemap'] = true;
             }
         }
         unset($pt);
     }
     unset($post_type_names, $filtered_post_types);
     $taxonomy_objects = get_taxonomies(array('public' => true), 'objects');
     $filtered_taxonomies = apply_filters('YMBESEO_sitemaps_supported_taxonomies', $taxonomy_objects);
     if (is_array($filtered_taxonomies) && $filtered_taxonomies !== array()) {
         foreach ($filtered_taxonomies as $tax) {
             if (isset($tax->labels->name) && trim($tax->labels->name) != '') {
                 $this->defaults['taxonomies-' . $tax->name . '-not_in_sitemap'] = false;
             }
         }
         unset($tax);
     }
     unset($taxonomy_objects, $filtered_taxonomies);
 }
示例#2
0
$yform->textinput('entries-per-page', __('Max entries per sitemap', 'ymbeseo'));
?>
		</div>

		<div id="user-sitemap" class="wpseotab">
			<?php 
$yform->checkbox('disable_author_sitemap', __('Disable author/user sitemap', 'ymbeseo'), false);
?>
			<div id="xml_user_block">
				<p><strong><?php 
_e('Exclude users without posts', 'ymbeseo');
?>
</strong><br/>
					<?php 
$yform->checkbox('disable_author_noposts', __('Disable all users with zero posts', 'ymbeseo'), false);
$roles = YMBESEO_Utils::get_roles();
if (is_array($roles) && $roles !== array()) {
    echo '<p><strong>' . __('Exclude user roles', 'ymbeseo') . '</strong><br/>';
    echo __('Please check the appropriate box below if there\'s a user role that you do <strong>NOT</strong> want to include in your sitemap:', 'ymbeseo') . '</p>';
    foreach ($roles as $role_key => $role_name) {
        $yform->checkbox('user_role-' . $role_key . '-not_in_sitemap', $role_name);
    }
}
?>
			</div>
		</div>

		<div id="post-types" class="wpseotab">

			<?php 
$post_types = apply_filters('YMBESEO_sitemaps_supported_post_types', get_post_types(array('public' => true), 'objects'));
/**
 * List all the available user roles
 *
 * @deprecated 1.6.1
 * @deprecated use YMBESEO_Utils::get_roles()
 * @see        YMBESEO_Utils::get_roles()
 *
 * @return array $roles
 */
function YMBESEO_get_roles()
{
    _deprecated_function(__FUNCTION__, 'WPSEO 1.6.1', 'YMBESEO_Utils::get_roles()');
    return YMBESEO_Utils::get_roles();
}