新手使用wpjam_post_thumbnail自动获取缩略图的心得

        用七牛云插件提供的wpjam_post_thumbnail实现Ribbon主题自动获取缩略图一文中记录了我使用WPJAM 七牛镜像存储插件提供的wpjam_post_thumbnail自动获取文章的缩略图的相关代码,但实现过程其实还是比较曲折的,在这里分享一下我的一点点心得,希望可以帮助到和我一样的新手。

        再声明一下:我完全不懂wordpress插件的工作原理,我只是从一个初学者的角度来分享我的学习心得,若有错误,还请各位海涵。

        1. 七牛云插件作者Denis提供缩略图使用方法

       Denis的原话是这样的:至于上面代码放到什么地方,我只能说你主题原来the_post_thumbnail()函数是在放到哪里,这个函数就放到哪里。

        2.新手对插件作者提供方法的理解

       我直接搜索我的主题中所有the_post_thumbnail()所在,然后将作者提供的代码放在该函数并列的位置,即两个函数并存。于是出现了下面的效果。上面一篇文章只有一个缩略图,因为我手动移除了原有的缩略图,而下面一篇文章有两个缩略图。

       所以应该是用Denis提供的函数替代主题中的函数the_post_thumbnail()。从上图中可以看出,Denis提供的代码得到的缩略图的位置与原主题中缩略图的位置不完全一样,为了不去重新修改css文件,我对Denis的代码做了一些小小的改动,具体实现代码参考用七牛云插件提供的wpjam_post_thumbnail实现Ribbon主题自动获取缩略图。

     3.wpjam_has_post_thumbnail() & wpjam_post_thumbnail()

     在修改index.php/archieve.php时比较顺利,基本上套用Denis的代码就可以,不过在修改widget-tabs.php时遇到了一些困难。在widget-tabs.php原代码与Denis提供的代码格式相差太远了,我根本不知道该如何套用,原代码是这样的:

     所以我去学习了七牛镜像存储的源代,先看wpjam_has_post_thumbnail():

     然后在看函数wpjam_post_thumbnail,它的函数调用关系如下图:

       可见函数wpjam_has_post_thumbnail()wpjam_post_thumbnail()最终都调用了函数wpjam_get_post_thumbnail_uri。经过查阅相关资料,我对该函数做了如下注释,若有错误之处,还请指出。

      而函数wpjam_get_post_thumbnail的返回值也就是wpjam_post_thumbnail的返回值格式如下:

      所以将函数写成如下格式就可以替代widget-tabs.php中的相应部分即可实现自动替换Ribbon主题侧边栏的缩略图。

Comments

  1. 回复

  2. 回复

  3. By 2333

    回复

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Fork me on GitHub