V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zeo
V2EX  ›  程序员

请教如何在 html 页面调用显示 wordpress 内容

  •  
  •   zeo · 2017-05-28 13:48:56 +08:00 · 3981 次点击
    这是一个创建于 2515 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想在首页的 html 页面中用 js 显示 blog 的更新文章,但是尝试了网上的各种办法都不行,请大侠给指点一下。

    建立一个 php 文件,输出 blog 文章部分,没有问题,执行 php 文件显示正常。

    但是把 php 文件用 js 输出就是空白了,,

    out.php 文件内容

  • 执行这个文件显示内容是对的。

    在 index.html 页面中,用

    <script type="text/javascript" src="http://47.93.230.225/blog/out.php?"></script>

    来调用,但是显示空白

    请教大家,如何修改才可以把 php 文件的显示结果,在 html 页面中调用

    13 条回复    2017-05-29 12:55:16 +08:00
    zeo
        1
    zeo  
    OP
       2017-05-28 13:50:59 +08:00
    out.php 文件内容如下
    <?php
    define('WP_USE_THEMES', false);
    require('wp-load.php');
    query_posts('showposts=10&orderby=new');
    while(have_posts()): the_post(); ?>

    <li><a title="<?php the_title(); ?>"href="<?php the_permalink(); ?>"target="_blank"><?php the_title(); ?></a></li>
    <?php endwhile; ?>
    Yunhao
        2
    Yunhao  
       2017-05-28 14:24:32 +08:00 via iPhone
    php 和 js 是不能直接这么交互的。你有两个选择:1.改用 ajax 异步请求 php 文件,通过 document.write 写在 html 里。2.在 php 文件中输出 js 语句,通过 script 标签来加载。
    zeo
        3
    zeo  
    OP
       2017-05-28 15:21:45 +08:00
    @Yunhao 能不能详细说一下代码如何写?我不太熟悉 js 和 ajax,,,
    beyoung
        4
    beyoung  
       2017-05-28 15:25:25 +08:00
    WordPress 有 api 的
    woorz
        5
    woorz  
       2017-05-28 17:43:49 +08:00
    @beyoung 正解. wordpress rest api
    zeo
        6
    zeo  
    OP
       2017-05-28 18:03:25 +08:00 via iPhone
    多请教一下,wordpress rest api 可以直接在 html 页面调用吗?我晚上回去好好研究
    a570295535
        7
    a570295535  
       2017-05-28 18:17:48 +08:00   ❤️ 1
    难的不会,这样还是可以的:

    方法 1 (哪都能调用):
    <iframe src="http://47.93.230.225/blog/out.php" width="100%" height="100%" iframeborder="0" ></iframe>

    方法 2 (仅限同一域名下):
    <script type="text/javascript">$.get("http://47.93.230.225/blog/out.php",function(data){
    $("#md").html(data);
    });</script>
    在想要调用的地方插入:
    <div id="md"></div>
    gdtv
        8
    gdtv  
       2017-05-28 18:23:07 +08:00
    感谢 7 楼的回复。V 站最讨厌伸手党,但我不十分讨厌。有时候人家就想实现一个简单东西,按 V 站的说话为了实现这点东西就必须自力更生,甚至学一门新的语言。懂的人可能花几秒钟就能给出答案,何必要人家去学完一本《 XXX 从入门到精通》呢?
    zeo
        9
    zeo  
    OP
       2017-05-28 20:40:48 +08:00 via iPhone
    感谢大家的热心,我确实不会,自己折腾了好几个晚上了,我一会试试
    zeo
        10
    zeo  
    OP
       2017-05-28 20:54:16 +08:00
    非常感谢 7 楼的回答,我用你的方法没有问题,谢谢大侠。
    这个方法的好处是我自己可以在 out.php 文件里修改输出的排版格式。。。
    zeo
        11
    zeo  
    OP
       2017-05-28 22:25:58 +08:00
    @a570295535 您这个方法确实可行,只是对于 seo 不够有利,能不能把 php 文件输出的数据,用 js 直接显示出来,而不是放在 dom 里呢?
    a570295535
        12
    a570295535  
       2017-05-28 22:38:52 +08:00
    @zeo 让文字显示在代码里利于 seo,这个我知道,你的需求是在,不与模板文件交互的 html 页面中调用,这就有困难了,如果是在模板文件,可以利用一些自带标签,我很多年没用过 WordPress 了,不知道现在啥样了,而且我本来就是个二把刀。
    zeo
        13
    zeo  
    OP
       2017-05-29 12:55:16 +08:00
    @a570295535 无论如何,非常感谢你的指点。

    关于 wordpress 的调用,我可以在 php 文件里变换标签和格式,我卡在把 php 文件输出的内容,在 html 文件里用有利于 seo 的文字显示出来。

    我在 W3School 学习$.Get 的用法,这段代码显示正常,但是换成我的 php 文件就什么也不显示了,我不知我的问题出在哪里。

    <!DOCTYPE html>
    <html>
    <head>
    <script src="/jquery/jquery-1.11.1.min.js"></script>
    <script>
    $(document).ready(function(){
    $("button").click(function(){
    $.get("/example/jquery/demo_test.asp",function(data,status){
    alert("数据:" + data + "\n 状态:" + status);
    });
    });
    });
    </script>
    </head>
    <body>

    <button>向页面发送 HTTP GET 请求,然后获得返回的结果</button>

    </body>
    </html>


    只要把网址换成我的 out.php,就没有反应了,,,
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5508 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 08:41 · PVG 16:41 · LAX 01:41 · JFK 04:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.