生成一页帖子内容的插件

时间:2012-07-16 作者:AlxVallejo

我的脚本正在生成副本post 即使在我明确声明post\\u类型应该是page. 它还忽略了$post_title, 如果标题已经存在,我不想创建重复的帖子。有人知道为什么要创建帖子而不是页面吗?

function av_generate_page($post_id) {

$post_info = get_post($post_id);
$post_slug = $post_info->post_name;
$post_title = $post_info->post_title;
$page_exists = get_page_by_title($post_title);
if($page_exists){ exit(); }
$detail_level = get_post_meta($post_id, \'detail_level\', true);
$formats = wp_get_post_terms($post_id, \'formats\', array(\'fields\'=>\'slugs\'));

$page = array(
    \'post_type\' => \'page\',
    \'post_title\' => $post_title,
    \'post_content\' => \'[[\'.$post_slug.\']]\',
    \'post_status\' => \'publish\',
    \'post_parent\' => 8800
);
if( !$page_exists ) {
    if (in_array(\'brief-segment\',$formats)){
        // Do not create a page for brief segments
    }else{
        $new_page_id = wp_insert_post($page, false);
        update_post_meta($new_page_id,\'suf_hide_page_title\',\'on\');
        update_post_meta($new_page_id,\'_wp_page_template\',\'no-sidebars-no-comments.php\');
            if(in_array(\'internal-only\',$formats)){
              add_post_meta($new_page_id,\'InternalOnly\',\'yes\',true);
            }
    }
}else{
    // Do not create a page
}   
} add_action(\'publish_post\', av_generate_page, 12);
EDIT 我将如何传递当前帖子id作为生成页面的id?

作为将帖子嵌入页面(前提是该页面尚未创建)的前提,我正在创建hierarchical treeview of pages. 因为帖子是平面的,所以每次创建帖子时都需要创建一个页面,并将其移动到层次结构中的适当位置。为什么我不简单地创建一个页面呢?因为我需要根据应用到的多个类别为每个帖子创建多个页面。是的,他们在帖子中标记了类别,但我仍然需要提供我无法处理帖子的页面列表。因此,我正在创建一个可以存在于层次结构中的页面,并引用一篇文章,因此我也可以在其他页面中引用该文章。

0 个回复
结束

相关推荐

如何修改此wpdb查询以包括POST_STATUS为PUBLISH和DRAFT的帖子?

我使用下面的函数来计算作者从自定义帖子类型中发表的帖子数量。<?php function count_user_posts_by_type($userid, $post_type) { global $wpdb; $where = get_posts_by_author_sql($post_type, TRUE, $userid); $count = $wpdb->get_var( \"SELECT COUNT(*) FROM $wpdb