2013-12-19 84 views
4

我想制作一个博客网页,根据他/她的Facebook喜欢,活动等为特定用户生成内容。例如,我喜欢Facebook上的夏奇拉和可口可乐。当进入博客并通过Facebook进行连接时,博客通过YouTube API获取该信息并搜索Shakira的YouTube视频,并在WordPress博客中向我显示该视频。博客搜索与可口可乐有关的新闻后,还会在帖子中显示关于它的消息。可以动态呈现Wordpress帖子吗?

FB连接,YouTube搜索或Google搜索都没有问题。我的问题是WordPress。由于可能有很多用户,并且可以为每个用户生成大量内容,因此我无法将每个帖子保存在MySQL表中。我想动态地生成帖子。我不是在这里要求代码,我只是想听到很好的解决方案和想法,这怎么能做到。

+0

你有没有得到这个解决方案以任何方式工作?你试过什么了? – ajtrichards

回答

3

作为一个解决方案,您可以使用404页面来生成这个动态帖子。

这里有一个博客帖子,给出了一个类似的解决方案:http://www.blogseye.com/creating-fake-wordpress-posts-on-the-fly/

用来生成假的职位代码:

function kpg_f_content() { 
    global $wp_query; 
    if($wp_query->is_404) { 
     $id=-42; // need an id 
     $post = new stdClass(); 
      $post->ID= $id; 
      $post->post_category= array('uncategorized'); //Add some categories. an array()??? 
      $post->post_content='hey here we are a real post'; //The full text of the post. 
      $post->post_excerpt= 'hey here we are a real post'; //For all your post excerpt needs. 
      $post->post_status='publish'; //Set the status of the new post. 
      $post->post_title= 'Fake Title'; //The title of your post. 
      $post->post_type='post'; //Sometimes you might want to post a page. 
     $wp_query->queried_object=$post; 
     $wp_query->post=$post; 
     $wp_query->found_posts = 1; 
     $wp_query->post_count = 1; 
     $wp_query->max_num_pages = 1; 
     $wp_query->is_single = 1; 
     $wp_query->is_404 = false; 
     $wp_query->is_posts_page = 1; 
     $wp_query->posts = array($post); 
     $wp_query->page=false; 
     $wp_query->is_post=true; 
     $wp_query->page=false; 
    } 
} 

add_action('wp', 'kpg_f_content'); 

将此成插件或将其添加到functions.php文件。

+1

谢谢你很好的解决方案。 –

0

替代解决方案:

add_filter('init', 'custom_function'); 
function custom_function(){ 
    if(is_admin()==true) return false; 

    //check URL 
    if($_SERVER['REQUEST_URI'] != '/hello/') return false; 

    echo 'Hello.'; 
    exit(); 
    } 
0

这是另一种方式来创造岗位动态

$post = array(
    'ID'    => [ <post id> ] // Are you updating an existing post? 
    'post_content' => [ <string> ] // The full text of the post. 
    'post_name'  => [ <string> ] // The name (slug) for your post 
    'post_title'  => [ <string> ] // The title of your post. 
    'post_status' => [ 'draft' | 'publish' | 'pending'| 'future' | 'private' | custom registered status ] // Default 'draft'. 
    'post_type'  => [ 'post' | 'page' | 'link' | 'nav_menu_item' | custom post type ] // Default 'post'. 
    'post_author' => [ <user ID> ] // The user ID number of the author. Default is the current user ID. 
    'ping_status' => [ 'closed' | 'open' ] // Pingbacks or trackbacks allowed. Default is the option 'default_ping_status'. 
    'post_parent' => [ <post ID> ] // Sets the parent of the new post, if any. Default 0. 
    'menu_order'  => [ <order> ] // If new post is a page, sets the order in which it should appear in supported menus. Default 0. 
    'to_ping'  => // Space or carriage return-separated list of URLs to ping. Default empty string. 
    'pinged'   => // Space or carriage return-separated list of URLs that have been pinged. Default empty string. 
    'post_password' => [ <string> ] // Password for post, if any. Default empty string. 
    'guid'   => // Skip this and let Wordpress handle it, usually. 
    'post_content_filtered' => // Skip this and let Wordpress handle it, usually. 
    'post_excerpt' => [ <string> ] // For all your post excerpt needs. 
    'post_date'  => [ Y-m-d H:i:s ] // The time post was made. 
    'post_date_gmt' => [ Y-m-d H:i:s ] // The time post was made, in GMT. 
    'comment_status' => [ 'closed' | 'open' ] // Default is the option 'default_comment_status', or 'closed'. 
    'post_category' => [ array(<category id>, ...) ] // Default empty. 
    'tags_input'  => [ '<tag>, <tag>, ...' | array ] // Default empty. 
    'tax_input'  => [ array(<taxonomy> => <array | string>) ] // For custom taxonomies. Default empty. 
    'page_template' => [ <string> ] // Requires name of template file, eg template.php. Default empty. 
); 
    $post_id = wp_insert_post($post); 

这帮助我很多!。

更多有关wp_insert_postclickhere

相关问题