File: /var/www/html/wp-content/plugins/wp-seopress/src/Services/WordPressData.php
<?php // phpcs:ignore
namespace SEOPress\Services;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* WordPressData
*/
class WordPressData {
/**
* The getPostTypes function.
*
* @param bool $return_all The return all.
* @param array $args The args.
*
* @return array
*/
public function getPostTypes( $return_all = false, $args = array() ) { // phpcs:ignore -- TODO: check if method is outside this class before renaming.
global $wp_post_types;
$default_args = array(
'public' => true,
);
$args = wp_parse_args( $args, $default_args );
if ( '' === $args['public'] ) {
unset( $args['public'] );
}
$post_types = get_post_types( $args, 'objects' );
// Filter to only include viewable post types (matches WordPress core conventions).
$post_types = array_filter( $post_types, 'is_post_type_viewable' );
if ( ! $return_all ) {
unset(
$post_types['attachment'],
$post_types['seopress_rankings'],
$post_types['seopress_backlinks'],
$post_types['seopress_404'],
$post_types['elementor_library'],
$post_types['customer_discount'],
$post_types['cuar_private_file'],
$post_types['cuar_private_page'],
$post_types['ct_template'],
$post_types['bricks_template']
);
}
$post_types = apply_filters_deprecated(
'seopress_get_post_types_args',
array( $post_types ),
'9.8.0',
'seopress_post_types'
);
$post_types = apply_filters( 'seopress_post_types', $post_types, $return_all, $args );
return $post_types;
}
/**
* The getTaxonomies function.
*
* @param bool $with_terms The with terms.
* @param bool $return_all The return all.
*
* @return array
*/
public function getTaxonomies( $with_terms = false, $return_all = false ) { // phpcs:ignore -- TODO: check if method is outside this class before renaming.
$args = array(
'public' => true,
);
$args = apply_filters( 'seopress_get_taxonomies_args', $args );
$taxonomies = get_taxonomies( $args, 'objects' );
// Filter to only include viewable taxonomies (matches WordPress core conventions).
$taxonomies = array_filter( $taxonomies, 'is_taxonomy_viewable' );
if ( ! $return_all ) {
unset(
$taxonomies['seopress_bl_competitors'],
$taxonomies['template_tag'],
$taxonomies['template_bundle']
);
}
$taxonomies = apply_filters( 'seopress_get_taxonomies_list', $taxonomies, $return_all );
if ( ! $with_terms ) {
return $taxonomies;
}
foreach ( $taxonomies as $_tax_slug => &$_tax ) {
$_tax->terms = get_terms( array( 'taxonomy' => $_tax_slug ) );
}
return $taxonomies;
}
}