分类
Google 好文分享

悬浮画中画播放器 – 一边放视频直播一边工作[Chrome]

转发一个很实用的chrome插件,可以一边浏览网页一边看视频了。

悬浮画中画播放器 是一款适用于绝大多数视频网站的悬浮画中画播放器,它可以将视频以小窗口、全屏置顶的形式在其他标签页中观看,适合一边放视频直播一边工(shang)作(wang)@Appinn

hello,投稿一个挺好用的 Chrome 插件-悬浮画中画播放器。启用后可以把几乎任何h5直播或者视频通过悬浮播放器播放。特别适合多工操作,一边放视频直播一边工作。

感谢 @LookRain 的推荐

青小蛙也有着小窗口播放视频的强烈需求,对于很多视频,其实都是大概看一下就好,尤其一些节奏比较拖沓的剧,如果不想倍速播放,那么边做别的事情边看视频就是一件非常爽的事情,当然如果你有双显示器可能就不需要这个了。

这个叫做 悬浮画中画播放器 的 Chrome 扩展使用方便,只需要在播放视频的时候,点击扩展栏上的按钮,然后在点击使用悬浮播放器即可。

不过,这里为什么不是点一下扩展栏按钮就悬浮呢,还需要点一下二级按钮,希望开发者未来可以去掉这个多余的步骤。

悬浮的播放器可以调整大小和拖拽到任何位置。另外,这个置顶是全屏的,不只是在 Chrome 中,就算切换到了其他程序页面,也会置顶,比如这个:

写写代码看个视频什么的最爽了。在 Chrome 商店可以安装。

via 小众软件 https://www.appinn.com/floating-picture-in-picture-video-player/

分类
好文分享

WordPress REST API 定制化输出

WordPress 自4.7 版本后与时俱进推出了REST API,如此一来想象空间又扩展了许多,如今WordPress 可以完全作为后端数据驱动了。本文通过几个例子展示如何定制化输出WordPress REST API 的相关数据。

文章数据(posts)禁止某些字段显示

默认的,当请求类似 your-site.com/wp-json/wp/v2/posts?per_page=5&page=1 的接口来获取文章列表,展示的不少字段对一般人来说是没有必要。

秉承“如无必要,勿增实体”的原则,减少请求时候的数据量,可以通过下面的代码移除:

function dw_rest_prepare_post( $data, $post, $request ) {
	$_data = $data->data;
	$params = $request->get_params();
	// if ( ! isset( $params['id'] ) ) {
		unset( $_data['excerpt'] );
		unset( $_data['author'] );
		unset( $_data['featured_media'] );
		unset( $_data['format'] );
		unset( $_data['ping_status'] );
		unset( $_data['comment_status'] );
		unset( $_data['sticky'] );
		unset( $_data['template'] );
	// }
	$data->data = $_data;
	return $data;
}
add_filter( 'rest_prepare_post', 'dw_rest_prepare_post', 10, 3 );

文章数据(posts)中输出 post meta 所有字段

可能考虑到数据隐私,文章数据(posts)默认并不显示post meta的相关字段,如果你需要输出对应文章下所有 post meta 字段,可以用下面的代码启用:

register_rest_field( 'post', 'metadata', array(
 	'get_callback' => function ( $data ) {
 		return get_post_meta( $data['id'], '', '' );
 }, ));

输出 post meta 特定字段

接上,如果你在REST API 中仅仅想输出 post meta 特定字段而非全部,则通过类似下面代码:

function dw_rest_prepare_post( $data, $post, $request ) {
	$_data = $data->data;
	$params = $request->get_params();
	$thumb =  get_post_meta( $post->ID, 'thumb' );
		if($thumb){
			$_data['thumb_image'] = $thumb;
		}	
	$data->data = $_data;
	return $data;
}
add_filter( 'rest_prepare_post', 'dw_rest_prepare_post', 10, 3 );

上面的代码展示的是如何输出thumb 这个 post meta 字段,请按需使用。

借助 Nginx 控制 /wp-json 的访问

这个倒与WordPress 本身无关了,your-site.com/wp-json 的路由默认是所有人皆可访问。如果你基于服务器负载,或安全等方面考虑选择性输出,可以借助 Nginx 控制访问。先看下面的例子:

location /wp-json {
      if ($http_user_agent !~ '(iPhone|Android)'){
        return 403;
       }
        try_files $uri $uri/ /index.php?$args;
}

如果你熟悉Nginx 语法,就知道上面的代码实现了:除了iOS 跟Android 设备(通过判断请求头的UA 信息),其它访问 /wp-json 的路径均返回403 状态码。这在一定程度上起到了保护作用。


原文链接:来自 DeveWork | https://devework.com/wordpress-rest-api-dynamic-output.html

via Jeff的阳台 https://devework.com/wordpress-rest-api-dynamic-output.html