V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
regsvr32
V2EX  ›  问与答

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

  •  
  •   regsvr32 · 2011-03-28 12:51:25 +08:00 · 3895 次点击
    这是一个创建于 4978 天前的主题,其中的信息可能已经有所发展或是发生改变。
    想给博客添加一个免插件的微博分享按钮,找了一圈很喜欢 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如何搭配冏
    10 条回复    1970-01-01 08:00:00 +08:00
    airyland
        1
    airyland  
       2011-03-28 13:02:52 +08:00
    你的意思是文章列表每个文章都要一个分享按钮?
    regsvr32
        2
    regsvr32  
    OP
       2011-03-28 13:04:03 +08:00
    恩那
    airyland
        3
    airyland  
       2011-03-28 13:17:32 +08:00
    @regsvr32 用回复方式啊,不然我根本得不到提醒。。我觉得这样做没有作用啊。没有谁会只看到标题就想分享。如果要这样做的话,建议用jquery写比较方便,显性遍历所有的a标签,取得title的value(如果有的话)或者a的text,以及href属性,给文章后你定义的分享链接或者按钮绑定一个动作,然后下面要做的和上面的一样了。
    regsvr32
        4
    regsvr32  
    OP
       2011-03-28 13:21:48 +08:00
    @airyland 不是的,比如chromi.org ,可能(直接在列表页)输出全文,也可能输出摘要这样子...,并不是看到标题就分享。

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

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

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

    羞涩啊羞涩
    airyland
        7
    airyland  
       2011-03-28 13:59:48 +08:00
    @regsvr32 就是这样的。在.php页面,任何代码只要带有<?php ?>的php都会自动处理。
    regsvr32
        8
    regsvr32  
    OP
       2011-03-28 14:09:58 +08:00
    @airyland 试了下不行,可能是因为我放在了一个单独的 .js 文件里的原因。
    airyland
        9
    airyland  
       2011-03-28 14:12:23 +08:00
    @regsvr32 是的,我上面也说了,必须在.php的wordpress模块里。。
    regsvr32
        10
    regsvr32  
    OP
       2011-03-28 14:53:32 +08:00
    @airyland 那代码确实显得比较乱,我已经给chromi.org换上mg那个代码了(单独加载js),目前首页的按钮点不了....,你可以看看现象
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1143 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:55 · PVG 06:55 · LAX 14:55 · JFK 17:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.