• 注册
  • wordpress wordpress 关注:3 内容:39

    wordpress根据文章别名slug获取文章

  • 查看作者
  • 打赏作者
  • wordpress
  • 排长

    最近做一个采集站,入库到wordpress,考虑到后续可能要更新数据,最终选用了文章的别名,也就是post name来做唯一的标志区分。

    基本思路是,采集数据时,保留一个源站的唯一标识符,并将这个标识用于或者转化后用于wordpress文章的postname,这样当有数据时,再次采集更新,入库时,先根据标识符查询是否已经入库,如果入库则选择更新原有文章,而不是插入新的文章。结合我开发的wndwp插件,这个功能实现起来超级简单。

    回归主题,如何通过文章的别名来获取文章是否存在呢?如果是page页面,wordpress有专门的函数,get_page_by_path,但文章类型并没有,只能自己写个简单的查询函数:

    function my_get_post_by_slug ( $slug, $post_type = 'post'){
        global $wpdb;
        $results = $wpdb->get_var($wpdb->prepare(
    		"SELECT ID FROM $wpdb->posts WHERE post_name = %s AND post_type = %s limit 1", 
    		$slug,
    		$post_type
    	));
    	$post_id = $results ? $results : false;
        
    	return $post_id;
    }

    请登录之后再进行评论

    登录

    进度

    10%
  • 到底部
  • 任务
  • 实时动态
  • 帖子间隔 侧栏位置: