一个关于wordpress+JS+PHP的问题

2011-03-28 12:51:25 +08:00
 regsvr32
想给博客添加一个免插件的微博分享按钮,找了一圈很喜欢 mg的 http://j.mp/hQ3WiB 这个方案,但是他只是考虑到了在 single.php 中添加按钮,没有考虑在文章列表页(比如首页、存档页)添加这个按钮,关键代码如下:

function bindShareList() {
var link = encodeURIComponent(document.location); // 文章链接
var title = encodeURIComponent(document.title.substring(0,76)); // 文章标题
var source = encodeURIComponent('网站名称'); // 网站名称
var windowName = 'share'; // 子窗口别称
var site = 'http://www.example.com/'; // 网站链接

他那个我没理解错的话获取的是当前页面的链接和标题,如果加在文章列表页的话,就不能分享单个文章了(因为读取的仍然是当前页面的链接和标题),怎么解决一下?

我完全不懂js和php如何搭配冏
3917 次点击
所在节点    问与答
10 条回复
airyland
2011-03-28 13:02:52 +08:00
你的意思是文章列表每个文章都要一个分享按钮?
regsvr32
2011-03-28 13:04:03 +08:00
恩那
airyland
2011-03-28 13:17:32 +08:00
@regsvr32 用回复方式啊,不然我根本得不到提醒。。我觉得这样做没有作用啊。没有谁会只看到标题就想分享。如果要这样做的话,建议用jquery写比较方便,显性遍历所有的a标签,取得title的value(如果有的话)或者a的text,以及href属性,给文章后你定义的分享链接或者按钮绑定一个动作,然后下面要做的和上面的一样了。
regsvr32
2011-03-28 13:21:48 +08:00
@airyland 不是的,比如chromi.org ,可能(直接在列表页)输出全文,也可能输出摘要这样子...,并不是看到标题就分享。

就是不知道怎么写。。。我在想能不能直接在他那个 js 中加一段 php 获取worpdress 的permalink 和 标题呢?

我代码白痴....
airyland
2011-03-28 13:35:26 +08:00
@regsvr32 我上面已经说了比较简便的方式,你这样写是可行的。不过会造成代码冗余。。wordpress的列表输出的时候 获取方式为<?php the_title();?><?php the_permalink();?>你只要把上面的title,link的值
改成这个就行了。
regsvr32
2011-03-28 13:44:36 +08:00
@airyland 哎我都不好意思公开问了,v2ex又不能发私信....

我大约知道这个方法理论上是可行的,不过我就是不知道怎么加进去,js里不能直接执行php 的吧,总不能 var link = <?php the_permalink();?> 吧..

羞涩啊羞涩
airyland
2011-03-28 13:59:48 +08:00
@regsvr32 就是这样的。在.php页面,任何代码只要带有<?php ?>的php都会自动处理。
regsvr32
2011-03-28 14:09:58 +08:00
@airyland 试了下不行,可能是因为我放在了一个单独的 .js 文件里的原因。
airyland
2011-03-28 14:12:23 +08:00
@regsvr32 是的,我上面也说了,必须在.php的wordpress模块里。。
regsvr32
2011-03-28 14:53:32 +08:00
@airyland 那代码确实显得比较乱,我已经给chromi.org换上mg那个代码了(单独加载js),目前首页的按钮点不了....,你可以看看现象

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/10569

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX