Exemple #1
0
 /**
  * Filter the link query results.
  *
  * @param  array $results
  *
  * @return array
  */
 public function wp_link_query(array $results)
 {
     $post_type = papi_get_post_type();
     foreach ($results as $index => $value) {
         $name = papi_get_page_type_name($value['ID']);
         if (empty($name)) {
             $name = papi_filter_settings_standard_page_type_name($post_type);
         }
         $results[$index]['info'] = esc_html($name);
     }
     return $results;
 }
Exemple #2
0
		<?php 
$parent_page_type = papi_get_entry_type_by_id(papi_get_entry_type_id());
$page_types = papi_get_all_page_types($post_type_name);
$show_standard = papi_filter_settings_show_standard_page_type($post_type_name);
if ($parent_page_type instanceof Papi_Page_Type) {
    $child_types = $parent_page_type->get_child_types();
    $page_types = empty($child_types) ? $page_types : $child_types;
    if (!$show_standard) {
        $show_standard = $parent_page_type->standard_type;
    }
}
if ($show_standard) {
    $id = sprintf('papi-standard-%s-type', $post_type_name);
    $page_type = new Papi_Page_Type($id);
    $page_type->id = $id;
    $page_type->name = papi_filter_settings_standard_page_type_name($post_type_name);
    $page_type->description = papi_filter_settings_standard_page_type_description($post_type_name);
    $page_type->thumbnail = papi_filter_settings_standard_page_type_thumbnail($post_type_name);
    $page_type->post_type = [$post_type_name];
    $page_types[] = $page_type;
}
usort($page_types, function ($a, $b) {
    return strcmp($a->name, $b->name);
});
$page_types = papi_sort_order(array_reverse($page_types));
$use_thumbnail = false;
foreach ($page_types as $key => $page_type) {
    if (!empty($page_type->get_thumbnail())) {
        $use_thumbnail = true;
    }
}
    /**
     * Filter page types in post type list.
     */
    public function restrict_page_types()
    {
        $post_types = papi_get_post_types();
        if (in_array($this->post_type, $post_types, true)) {
            $page_types = papi_get_all_page_types($this->post_type);
            $page_types = array_map(function ($page_type) {
                return ['name' => $page_type->name, 'value' => $page_type->get_id()];
            }, $page_types);
            // Add the standard page that isn't a real page type.
            if (papi_filter_settings_show_standard_page_type_in_filter($this->post_type)) {
                $page_types[] = ['name' => papi_filter_settings_standard_page_type_name($this->post_type), 'value' => 'papi-standard-page'];
            }
            usort($page_types, function ($a, $b) {
                return strcmp(strtolower($a['name']), strtolower($b['name']));
            });
            ?>
			<select name="page_type" class="postform">
				<option value="0" selected><?php 
            esc_html_e('All types', 'papi');
            ?>
</option>
				<?php 
            foreach ($page_types as $page_type) {
                printf('<option value="%s" %s>%s</option>', esc_attr($page_type['value']), papi_get_qs('page_type') === $page_type['value'] ? ' selected' : '', esc_html($page_type['name']));
            }
            ?>
			</select>
			<?php 
        }
    }