V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zeo
V2EX  ›  程序员

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

  •  
  •   zeo · May 28, 2017 · 4484 views
    This topic created in 3257 days ago, the information mentioned may be changed or developed.

    我想在首页的 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 replies    2017-05-29 12:55:16 +08:00
    zeo
        1
    zeo  
    OP
       May 28, 2017
    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  
       May 28, 2017 via iPhone
    php 和 js 是不能直接这么交互的。你有两个选择:1.改用 ajax 异步请求 php 文件,通过 document.write 写在 html 里。2.在 php 文件中输出 js 语句,通过 script 标签来加载。
    zeo
        3
    zeo  
    OP
       May 28, 2017
    @Yunhao 能不能详细说一下代码如何写?我不太熟悉 js 和 ajax,,,
    beyoung
        4
    beyoung  
       May 28, 2017
    WordPress 有 api 的
    woorz
        5
    woorz  
       May 28, 2017
    @beyoung 正解. wordpress rest api
    zeo
        6
    zeo  
    OP
       May 28, 2017 via iPhone
    多请教一下,wordpress rest api 可以直接在 html 页面调用吗?我晚上回去好好研究
    a570295535
        7
    a570295535  
       May 28, 2017   ❤️ 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  
       May 28, 2017
    感谢 7 楼的回复。V 站最讨厌伸手党,但我不十分讨厌。有时候人家就想实现一个简单东西,按 V 站的说话为了实现这点东西就必须自力更生,甚至学一门新的语言。懂的人可能花几秒钟就能给出答案,何必要人家去学完一本《 XXX 从入门到精通》呢?
    zeo
        9
    zeo  
    OP
       May 28, 2017 via iPhone
    感谢大家的热心,我确实不会,自己折腾了好几个晚上了,我一会试试
    zeo
        10
    zeo  
    OP
       May 28, 2017
    非常感谢 7 楼的回答,我用你的方法没有问题,谢谢大侠。
    这个方法的好处是我自己可以在 out.php 文件里修改输出的排版格式。。。
    zeo
        11
    zeo  
    OP
       May 28, 2017
    @a570295535 您这个方法确实可行,只是对于 seo 不够有利,能不能把 php 文件输出的数据,用 js 直接显示出来,而不是放在 dom 里呢?
    a570295535
        12
    a570295535  
       May 28, 2017
    @zeo 让文字显示在代码里利于 seo,这个我知道,你的需求是在,不与模板文件交互的 html 页面中调用,这就有困难了,如果是在模板文件,可以利用一些自带标签,我很多年没用过 WordPress 了,不知道现在啥样了,而且我本来就是个二把刀。
    zeo
        13
    zeo  
    OP
       May 29, 2017
    @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,就没有反应了,,,
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5156 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 09:45 · PVG 17:45 · LAX 02:45 · JFK 05:45
    ♥ Do have faith in what you're doing.