本文整理汇总了PHP中is_post_type_hierarchical函数的典型用法代码示例。如果您正苦于以下问题:PHP is_post_type_hierarchical函数的具体用法?PHP is_post_type_hierarchical怎么用?PHP is_post_type_hierarchical使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了is_post_type_hierarchical函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: wp_edit
function wp_edit()
{
global $post_type, $wp_query;
if ($post_type != GALLERY_POST_TYPE_SLUG) {
return;
}
if (!current_user_can('edit_others_pages') || !post_type_supports($post_type, 'page-attributes') && !is_post_type_hierarchical($post_type)) {
// check permission
return;
}
add_action('restrict_manage_posts', array($this, 'restrict_manage_posts'));
// posts per page drop down UI
if (isset($_GET['per_page']) && ($_GET['per_page'] == 99999 || $_GET['per_page'] % 10 == 0)) {
update_user_option(get_current_user_id(), 'edit_' . $post_type . '_per_page', (int) $_GET['per_page']);
}
add_filter('views_' . get_current_screen()->id, array($this, 'sort_by_order_link'));
// add view by menu order to views
add_filter('contextual_help', array($this, 'contextual_help'));
// add contextual help to hierarchical post screens
#if ( $wp_query->query['orderby'] == 'menu_order title' ) { // we can only sort if we're organized by menu order; WP 3.2 and 3.1 versions
wp_enqueue_script('simple-page-ordering', THEMEURL . 'inc/gallery-ordering/simple-page-ordering.js', array('jquery-ui-sortable'), '0.9.7', true);
$js_trans = array('RepositionTree' => __("Items can only be repositioned within their current branch in the page tree / hierarchy (next to pages with the same parent).\n\nIf you want to move this item into a different part of the page tree, use the Quick Edit feature to change the parent before continuing.", TD));
#wp_localize_script( 'simple-page-ordering', 'simple_page_ordering_l10n', $js_trans );
#}
}
示例2: jetpack_breadcrumbs
/**
* Plugin Name: Site Breadcrumbs
* Plugin URI: https://wordpress.com
* Description: Quickly add breadcrumbs to the single view of a hierarchical post type or a hierarchical taxonomy.
* Author: Automattic
* Version: 1.0
* Author URI: https://wordpress.com
* License: GPL2 or later
*/
function jetpack_breadcrumbs()
{
$taxonomy = is_category() ? 'category' : get_query_var('taxonomy');
$is_taxonomy_hierarchical = is_taxonomy_hierarchical($taxonomy);
$post_type = is_page() ? 'page' : get_query_var('post_type');
$is_post_type_hierarchical = is_post_type_hierarchical($post_type);
if (!($is_post_type_hierarchical || $is_taxonomy_hierarchical) || is_front_page()) {
return;
}
$breadcrumb = '';
if ($is_post_type_hierarchical) {
$post_id = get_queried_object_id();
$ancestors = array_reverse(get_post_ancestors($post_id));
if ($ancestors) {
foreach ($ancestors as $ancestor) {
$breadcrumb .= '<span itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><a href="' . esc_url(get_permalink($ancestor)) . '" itemprop="item"><span itemprop="name">' . esc_html(get_the_title($ancestor)) . '</span></a></span>';
}
}
$breadcrumb .= '<span class="current-page" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><span itemprop="name">' . esc_html(get_the_title($post_id)) . '</span></span>';
} elseif ($is_taxonomy_hierarchical) {
$current = get_term(get_queried_object_id(), $taxonomy);
if (is_wp_error($current)) {
return;
}
if ($current->parent) {
$breadcrumb = jetpack_get_term_parents($current->parent, $taxonomy);
}
$breadcrumb .= '<span class="current-category" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><span itemprop="name">' . esc_html($current->name) . '</span></span>';
}
$home = '<span itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><a href="' . esc_url(home_url('/')) . '" class="home-link" itemprop="item" rel="home"><span itemprop="name">' . esc_html__('Home', 'jetpack') . '</span></a></span>';
echo '<nav class="entry-breadcrumbs" itemscope itemtype="https://schema.org/BreadcrumbList">' . $home . $breadcrumb . '</nav>';
}
示例3: acs_scripts
function acs_scripts()
{
global $pagenow;
if (isset($_GET['post_type'])) {
$post_type = $_GET['post_type'];
if (is_post_type_hierarchical($post_type)) {
add_filter('admin_body_class', 'acs_admin_body_class');
}
function acs_admin_body_class($classes)
{
$classes .= ' ' . 'acs-hier';
return $classes;
}
}
if (is_admin() && isset($_GET['post_type']) && $pagenow == 'edit.php') {
//make sure jquery is loaded
wp_enqueue_script('jquery');
//cookie script for saving collapse states
wp_enqueue_script('jquery-cookie', plugins_url('js/jquery.cookie.js', __FILE__), 'jquery', '1.4.0');
//main collapse pages script
wp_enqueue_script('acs-js', plugins_url('js/admin_collapse_subpages.js', __FILE__), false, '2.0');
//Load Styles
wp_enqueue_style('acs-css', plugins_url('css/style.css', __FILE__), false, '2.0', 'screen');
wp_localize_script('acs-js', 'acs_l10n_vars', array('lexpandall' => __('Expand All', 'admin-collapse-subpages'), 'lcollapseall' => __('Collapse All', 'admin-collapse-subpages')));
}
}
示例4: copy
/**
* Create a Duplicate post
*/
static function copy($post, $post_title = '', $post_name = '', $post_type = 'sp_report')
{
// We don't want to clone revisions
if ($post->post_type == 'revision') {
return;
}
if ($post->post_type != 'attachment') {
$status = 'draft';
}
$new_post_author = wp_get_current_user();
$new_post = array('menu_order' => $post->menu_order, 'comment_status' => $post->comment_status, 'ping_status' => $post->ping_status, 'post_author' => $new_post_author->ID, 'post_content' => $post->post_content, 'post_excerpt' => $post->post_excerpt, 'post_mime_type' => $post->post_mime_type, 'post_password' => $post->post_password, 'post_status' => $post->post_status, 'post_title' => empty($post_title) ? $post->post_title : $post_title, 'post_type' => empty($post_type) ? $post->post_type : $post_type);
if ($post_name != '') {
$new_post['post_name'] = $post_name;
}
/*
$new_post['post_date'] = $new_post_date = $post->post_date ;
$new_post['post_date_gmt'] = get_gmt_from_date($new_post_date);
*/
$new_post_id = wp_insert_post($new_post);
// If you have written a plugin which uses non-WP database tables to save
// information about a post you can hook this action to dupe that data.
if ($post->post_type == 'page' || function_exists('is_post_type_hierarchical') && is_post_type_hierarchical($post->post_type)) {
do_action('sp_duplicate_page', $new_post_id, $post);
} else {
do_action('sp_duplicate_post', $new_post_id, $post);
}
delete_post_meta($new_post_id, '_sp_original');
add_post_meta($new_post_id, '_sp_original', $post->ID);
add_post_meta($new_post_id, '_open_count', 0);
return $new_post_id;
}
示例5: shortcode_handler
public function shortcode_handler($atts, $content = null, $tag = '')
{
if (!is_post_type_hierarchical(get_post_type())) {
return '';
}
$ancestors = get_post_ancestors(get_the_ID());
if (!$ancestors) {
return '';
}
$r = [];
$ancestors = array_reverse($ancestors);
foreach ($ancestors as $ancestor) {
$classes = ['hestia-ancestor', 'hestia-wrap', sprintf('post-%s', esc_attr($ancestor))];
$permalink = get_permalink($ancestor);
$has_thumbnail = has_post_thumbnail($ancestor);
if ($has_thumbnail) {
// Because who doesn't love a properly alphabetized list?
array_unshift($classes, 'has-post-thumbnail');
}
$r[] = sprintf('<div class="%s">', implode(' ', $classes));
$r[] = sprintf('<a href="%1$s">', esc_attr($permalink));
if ($has_thumbnail) {
$r[] = get_the_post_thumbnail($ancestor);
}
$r[] = get_the_title($ancestor);
$r[] = '</a>';
$r[] = '</div>';
}
return implode("\n", $r);
}
示例6: addMenu
function addMenu()
{
global $userdata;
//put a menu for all custom_type
$post_types = get_post_types();
$options = get_option('cpto_options');
//get the required user capability
$capability = '';
if (isset($options['capability']) && !empty($options['capability'])) {
$capability = $options['capability'];
} else {
if (is_numeric($options['level'])) {
$capability = userdata_get_user_level();
} else {
$capability = 'install_plugins';
}
}
foreach ($post_types as $post_type_name) {
if ($post_type_name == 'page') {
continue;
}
//ignore bbpress
if ($post_type_name == 'reply' || $post_type_name == 'topic') {
continue;
}
if ($post_type_name == 'post') {
add_submenu_page('edit.php', __('Re-Order', 'cpt'), __('Re-Order', 'cpt'), $capability, 'order-post-types-' . $post_type_name, array(&$this, 'SortPage'));
} else {
if (!is_post_type_hierarchical($post_type_name)) {
add_submenu_page('edit.php?post_type=' . $post_type_name, __('Re-Order', 'cpt'), __('Re-Order', 'cpt'), $capability, 'order-post-types-' . $post_type_name, array(&$this, 'SortPage'));
}
}
}
}
示例7: get_original_column_value
/**
* @since 2.2.1
*/
public function get_original_column_value($column, $id)
{
global $post;
// Setup post data for current post
$post_old = $post;
$post = get_post($id);
setup_postdata($post);
// Remove Admin Columns action for this column's value
remove_action("manage_{$this->post_type}_posts_custom_column", array($this, 'manage_value_callback'), 100, 2);
ob_start();
// Run WordPress native actions to display column content
if (is_post_type_hierarchical($this->post_type)) {
do_action('manage_pages_custom_column', $column, $id);
} else {
do_action('manage_posts_custom_column', $column, $id);
}
do_action("manage_{$this->post_type}_posts_custom_column", $column, $id);
$contents = ob_get_clean();
// Add removed Admin Columns action for this column's value
add_action("manage_{$this->post_type}_posts_custom_column", array($this, 'manage_value_callback'), 100, 2);
// Restore original post object
$post = $post_old;
if ($post) {
setup_postdata($post);
}
return $contents;
}
示例8: shortcode_handler
public function shortcode_handler($atts, $content = null, $tag = '')
{
if (!is_post_type_hierarchical(get_post_type())) {
return '';
}
$args = ['order' => 'ASC', 'orderby' => 'menu_order', 'post_parent' => get_the_ID(), 'post_type' => get_post_type(), 'posts_per_page' => 20];
$query = new WP_Query($args);
$r = [];
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
$classes = ['hestia-child', 'hestia-wrap', sprintf('post-%s', esc_attr(get_the_ID()))];
$has_thumbnail = has_post_thumbnail();
$permalink = get_permalink();
if ($has_thumbnail) {
// Because who doesn't love a properly alphabetized list?
array_unshift($classes, 'has-post-thumbnail');
}
$r[] = sprintf('<div class="%s">', implode(' ', $classes));
$r[] = sprintf('<a href="%s">', esc_attr($permalink));
if ($has_thumbnail) {
$r[] = get_the_post_thumbnail();
}
$r[] = get_the_title();
$r[] = '</a>';
$r[] = '</div>';
}
}
wp_reset_postdata();
return implode("\n", $r);
}
示例9: isHierarchical
/**
* put your comment there...
*
*/
protected function isHierarchical()
{
// Initialize.
$typeParams =& $this->getTypeParams();
// Check if post_type hierarchical.
return is_post_type_hierarchical($typeParams['type']);
}
示例10: init
public static function init()
{
global $pagenow;
if ($pagenow == 'edit.php' && !empty($_REQUEST['post_type']) && $_REQUEST['post_type'] == EM_POST_TYPE_EVENT) {
//only needed for events list
if (!empty($_REQUEST['category_id']) && is_numeric($_REQUEST['category_id'])) {
$term = get_term_by('id', $_REQUEST['category_id'], EM_TAXONOMY_CATEGORY);
if (!empty($term->slug)) {
$_REQUEST['category_id'] = $term->slug;
}
}
//hide some cols by default:
$screen = 'edit-' . EM_POST_TYPE_EVENT;
$hidden = get_user_option('manage' . $screen . 'columnshidden');
if (!$hidden) {
$hidden = array('event-id');
update_user_option(get_current_user_id(), "manage{$screen}columnshidden", $hidden, true);
}
//deal with actions
$row_action_type = is_post_type_hierarchical(EM_POST_TYPE_EVENT) ? 'page_row_actions' : 'post_row_actions';
add_filter($row_action_type, array('EM_Event_Posts_Admin', 'row_actions'), 10, 2);
add_action('admin_head', array('EM_Event_Posts_Admin', 'admin_head'));
//collumns
add_filter('manage_edit-' . EM_POST_TYPE_EVENT . '_columns', array('EM_Event_Posts_Admin', 'columns_add'));
add_filter('manage_' . EM_POST_TYPE_EVENT . '_posts_custom_column', array('EM_Event_Posts_Admin', 'columns_output'), 10, 2);
}
//clean up the views in the admin selection area - WIP
//add_filter('views_edit-'.EM_POST_TYPE_EVENT, array('EM_Event_Posts_Admin','restrict_views'),10,2);
//add_filter('views_edit-event-recurring', array('EM_Event_Posts_Admin','restrict_views'),10,2);
//add filters to event post list tables
add_action('restrict_manage_posts', array('EM_Event_Posts_Admin', 'restrict_manage_posts'));
}
示例11: add_custom_columns_hooks
/**
* Add custom columns hooks.
*/
public function add_custom_columns_hooks()
{
if ($this->has_custom_columns()) {
$post_type = isset($_REQUEST['post_type']) ? $_REQUEST['post_type'] : 'post';
switch ($post_type) {
case 'post':
case 'page':
add_filter('manage_' . $post_type . 's_columns', array($this->get_custom_column_instance(), 'add_posts_management_column'));
if ($this->get_custom_column_instance()->show_management_column_content($post_type)) {
add_filter('manage_' . $post_type . 's_custom_column', array($this->get_custom_column_instance(), 'add_content_for_posts_management_column'));
}
break;
default:
if (in_array($post_type, array_keys($this->sitepress->get_translatable_documents()), true)) {
add_filter('manage_' . $post_type . '_posts_columns', array($this->get_custom_column_instance(), 'add_posts_management_column'));
if (is_post_type_hierarchical($post_type)) {
if ($this->get_custom_column_instance()->show_management_column_content($post_type)) {
add_action('manage_pages_custom_column', array($this->get_custom_column_instance(), 'add_content_for_posts_management_column'));
add_action('manage_posts_custom_column', array($this->get_custom_column_instance(), 'add_content_for_posts_management_column'));
// add this too - for more types plugin
}
} else {
if ($this->get_custom_column_instance()->show_management_column_content($post_type)) {
add_action('manage_posts_custom_column', array($this->get_custom_column_instance(), 'add_content_for_posts_management_column'));
}
}
}
}
}
}
示例12: init
function init()
{
global $pagenow;
if ($pagenow == 'edit.php' && !empty($_REQUEST['post_type']) && $_REQUEST['post_type'] == EM_POST_TYPE_EVENT) {
//only needed for events list
if (!empty($_REQUEST['category_id']) && is_numeric($_REQUEST['category_id'])) {
$term = get_term_by('id', $_REQUEST['category_id'], EM_TAXONOMY_CATEGORY);
if (!empty($term->slug)) {
$_REQUEST['category_id'] = $term->slug;
}
}
//hide some cols by default:
$screen = 'edit-' . EM_POST_TYPE_EVENT;
$hidden = get_user_option('manage' . $screen . 'columnshidden');
if (!$hidden) {
$hidden = array('event-id');
update_user_option(get_current_user_id(), "manage{$screen}columnshidden", $hidden, true);
}
//deal with actions
$row_action_type = is_post_type_hierarchical(EM_POST_TYPE_EVENT) ? 'page_row_actions' : 'post_row_actions';
add_filter($row_action_type, array('EM_Event_Posts_Admin', 'row_actions'), 10, 2);
add_action('admin_head', array('EM_Event_Posts_Admin', 'admin_head'));
//collumns
add_filter('manage_edit-' . EM_POST_TYPE_EVENT . '_columns', array('EM_Event_Posts_Admin', 'columns_add'));
add_filter('manage_' . EM_POST_TYPE_EVENT . '_posts_custom_column', array('EM_Event_Posts_Admin', 'columns_output'), 10, 2);
//TODO alter views of locations, events and recurrences, specifically find a good way to alter the wp_count_posts method to force user owned posts only
//add_filter('views_edit-'.EM_POST_TYPE_EVENT, array('EM_Event_Posts_Admin','views'),10,1);
}
add_action('restrict_manage_posts', array('EM_Event_Posts_Admin', 'restrict_manage_posts'));
}
示例13: wp_unique_post_slug
function wp_unique_post_slug($slug_suggested, $post_id, $post_status, $post_type, $post_parent, $slug)
{
if ($post_status !== 'auto-draft' && $this->sitepress->is_translated_post_type($post_type)) {
$post_language = $post_id ? $this->post_translations->get_element_lang_code($post_id) : $this->sitepress->get_current_language();
$parent = is_post_type_hierarchical($post_type) ? (int) $post_parent : false;
$slug_suggested_wpml = $this->find_unique_slug_post($post_id, $post_type, $post_language, $parent, $slug);
}
return isset($slug_suggested_wpml) ? $slug_suggested_wpml : $slug_suggested;
}
示例14: test_register_post_type
function test_register_post_type()
{
$this->assertNull(get_post_type_object('foo'));
register_post_type('foo');
$pobj = get_post_type_object('foo');
$this->assertInstanceOf('WP_Post_Type', $pobj);
$this->assertEquals('foo', $pobj->name);
// Test some defaults
$this->assertFalse(is_post_type_hierarchical('foo'));
$this->assertEquals(array(), get_object_taxonomies('foo'));
_unregister_post_type('foo');
}
示例15: content_audit_column_setup
function content_audit_column_setup()
{
global $current_user;
get_currentuserinfo();
$role = is_array($current_user->roles) ? array_shift($current_user->roles) : '';
$options = get_option('content_audit');
if (!is_array($options['post_types'])) {
$options['post_types'] = array($options['post_types']);
}
$allowed = $options['rolenames'];
if (!is_array($allowed)) {
$allowed = array($allowed);
}
if (is_multisite() && is_super_admin() || in_array($role, $allowed)) {
foreach ($options['post_types'] as $type) {
switch ($type) {
case 'post':
add_filter('manage_posts_columns', 'content_audit_columns');
add_action('manage_posts_custom_column', 'content_audit_custom_column', 10, 2);
add_filter('manage_edit-post_sortable_columns', 'content_audit_register_sortable');
break;
case 'page':
add_filter('manage_pages_columns', 'content_audit_columns');
add_action('manage_pages_custom_column', 'content_audit_custom_column', 10, 2);
add_filter('manage_edit-page_sortable_columns', 'content_audit_register_sortable');
break;
case 'attachment':
add_filter('manage_media_columns', 'content_audit_columns');
add_action('manage_media_custom_column', 'content_audit_custom_column', 10, 2);
add_filter('manage_edit-media_sortable_columns', 'content_audit_register_sortable');
break;
default:
if (post_type_exists($type) && in_array($type, $options['post_types'])) {
add_filter('manage_' . $type . '_posts_columns', 'content_audit_columns');
add_filter('manage_edit-' . $type . '_sortable_columns', 'content_audit_register_sortable');
if (is_post_type_hierarchical($type) == true) {
add_action('manage_pages_custom_column', 'content_audit_custom_column', 10, 2);
} else {
add_action('manage_posts_custom_column', 'content_audit_custom_column', 10, 2);
}
}
}
// add filter dropdowns
add_action('restrict_manage_posts', 'content_audit_restrict_content_authors');
add_action('restrict_manage_posts', 'content_audit_restrict_content_owners');
add_action('restrict_manage_posts', 'content_audit_restrict_content_status');
// modify edit screens' query when dropdown option is chosen
add_filter('posts_where', 'content_audit_posts_where');
// Add author field to quick edit
// add_action( 'quick_edit_custom_box', 'add_quickedit_content_owner' );
}
}
}