分类: Wordpress

  • WordPress数据库修改表前缀完整版教程

    WordPress数据库修改表前缀完整版教程

    mysql的表前缀

    mysql的表前缀在大部分的程序都会有,这个前缀是为了区分程序,如果你在某个数据库中,放入了多个程序的数据,那么有了表前缀,你就可以非常清晰地区分他们,多程序在数据库中也不会因为没有前缀而导致冲突。

    比如大部分程序都有 options表,这个表代表我们的一些设置,如WordPress的前缀默认为wp_ 那么在数据库中,wp_options则代表这个表数据为WordPress的。

    一般情况下,什么情况下需要修改WordPress的表前缀呢?

    一般来说,如果我们需要在一个数据库中,安装多个WordPress网站,那么我们就需要放入多个不同前缀的数据到数据库中。

    这种情况下一般是虚拟主机,因为虚拟主机的数据库是不允许你新建多个数据库的,因此你需要在一个数据库中放入多个WordPress的数据表。

    比如站点1 为默认的wp_  站点2 为 wp2_

    修改表前缀一般有2种情况(都是在无法新建数据库的情况下)

    • 第一:我建立好了一个WordPress网站,现在想要复制整个网站的内容,到另一个网站去,两个网站的数据一致,我比较方便修改,而不需要重新在后台传。
    • 第二:主题提供了导入数据,我需要在一个数据库中导入2个网站,但提供的导入数据表前缀一致,那么我在导入一次之后,需要改变表前缀,再倒入另一个。

    ps.若你可以新建数据库,则完全无需修改表前缀,无需将多个网站安装进入同一个数据库中,建立不同的数据库安装不同的程序数据,方便管理。

    首先你需要一个数据库管理工具,最好是一台闲置的服务器,或者本地环境下的数据库,

    我们以phpmyadmin为例子:我们需要将wop_ 前缀修改为 wopen_

    本地环境phpmyadmin,首先导入我们所需要的数据库:

    WordPress数据库修改表前缀完整版教程

    导入完成止之后进入表结构,全选所有的表:

    WordPress数据库修改表前缀完整版教程

    拖动到最底部的选中项操作,选择修改表前缀:

    WordPress数据库修改表前缀完整版教程

    在弹出的界面中,输入需要替换的前缀和替换后的前缀,这里是wop_ 修改为wopen_:

    WordPress数据库修改表前缀完整版教程

    点击继续,就可以替换完成所有的前缀了,到了这一步,如果你将数据库导入到运营中的服务器登录,后台界面会显示“无权限访问这个界面”

    这是因为我们的用户数据权限前缀在此是无法修改到的,WordPress无法识别当前用户的级别造成的

    因此我们需要修改两个数据:

    1.options表中的user_roles字段

    打开options表,搜索user_roles(注意选择 %like%)

    WordPress数据库修改表前缀完整版教程

    搜索结果:

    WordPress数据库修改表前缀完整版教程

    将此数据修改一下,为wopen_user_roles

    WordPress数据库修改表前缀完整版教程

    保存即可

    2.修改user_meta中的数据,usermeta中的数据需要sql批量替换,因为数据要改的地方很多,一条一条的改不现实,所以提供一条sql命令进行修改:

    命令如下

    update `wopen_usermeta` set `meta_key`= replace(`meta_key`,'wop_','wopen_')  WHERE `meta_key` like "%wop_%";

    请特别注意,这里是示例的 wop_ 更改为wopen_

    在实际操作中,你需要根据你自己的更改需求去吧这个sql命令更换一下,上面的命令我用颜色进行了区分,很容易识别。

    这里执行修改完成之后, 再导出数据,导入你运营的数据库中就可以将完整的数据迁移过去了,登陆后台一些都会正常。

    以上为完整具体的手把手教你如何修改表前缀教程,若需要修改参考此教程即可完整的修改。

  • 如何禁用WordPress的自动更新功能?

    如何禁用WordPress的自动更新功能?

    WordPress自动更新版本功能如何关闭?

    WordPress的自动更新功能虽然能够确保网站安全,并保持最新状态,但在某些情况下,用户可能希望关闭这一功能,以下是关闭WordPress自动更新版本的详细步骤:

    方法一:通过代码禁用自动更新

    1、禁用所有自动更新:

    打开根目录下的wp-config.php文件。

    在文件中添加以下代码行:

    /** 关闭WordPress自动更新升级 */
    define(‘AUTOMATIC_UPDATER_DISABLED’, true);

    保存并关闭文件。

    2、仅禁用插件或主题的自动更新:

    如果你只想禁用插件或主题的自动更新,可以在当前主题的functions.php文件中添加以下代码:

    “`php

    add_filter( ‘auto_update_plugin’, ‘__return_false’ ); // 禁用插件自动更新

    add_filter( ‘auto_update_theme’, ‘__return_false’ ); // 禁用主题自动更新

    “`

    这些代码会分别禁止插件和主题的自动更新。

    3、禁用定时检查更新:

    要完全停止WordPress后台定时检查更新,可以添加以下代码到functions.php文件中:

    “`php

    remove_action(‘init’, ‘wp_schedule_update_checks’);

    wp_clear_scheduled_hook(‘wp_version_check’);

    wp_clear_scheduled_hook(‘wp_update_plugins’);

    wp_clear_scheduled_hook(‘wp_update_themes’);

    “`

    这将移除所有与自动更新相关的定时作业。

    方法二:使用Easy Updates Manager插件

    1、安装插件:

    访问WordPress后台,导航至“插件”>“添加新插件”。

    搜索“Easy Updates Manager”,找到插件后点击“安装”并激活。

    2、配置插件:

    激活插件后,导航至“设置”>“Updates Options”。

    在此处,你可以统一设置禁用所有更新,或者针对WordPress核心、插件、主题等单独设置自动更新、手动更新或禁止更新。

    3、查看更新日志:

    Easy Updates Manager还提供了更新日志选项,你可以看到具体的版本升级记录和日期,如果因为某个更新导致问题,可以及时回滚到上一个版本。

    相关问题与解答

    1、为什么需要关闭WordPress的自动更新功能?

    避免网站崩溃:自动更新可能会因为插件、主题与核心代码之间的不兼容性导致网站崩溃,尤其是在进行重大更新时,这种风险更高。

    控制更新实施方式:手动更新允许你控制更新的实施方式,并在出现问题时立即解决,这对于维护复杂的网站尤其重要。

    不必要的功能更改:自动更新可能会带来不需要的功能,干扰工作流程,调整每个元素和功能以适应独特的视觉可能需要大量工作量。

    2、关闭自动更新后如何手动更新WordPress?

    手动更新核心:登录到WordPress管理仪表盘,导航至“更新”,如果有可用的新版本,可以手动点击“更新现在”按钮来执行更新。

    手动更新插件和主题:同样在“更新”页面,选择需要更新的插件或主题,然后点击“更新”按钮,建议在更新前备份站点,以防万一。

    通过以上方法,你可以有效地关闭WordPress的自动更新功能,并根据需要手动进行更新,以确保网站的稳定和安全。

    各位小伙伴们,我刚刚为大家分享了有关“WordPress自动更新版本功能如何关闭?”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!

  • 防止盗用代码禁止 F12 和打开网页控制台快捷键

    防止盗用代码禁止 F12 和打开网页控制台快捷键

    • 虽然这个功能有些鸡肋,不过是可以避免大部分的快捷键打开网站控制台,要查看你网站的源码还是要费点劲的。
    • 网站管理后台-–》子比主题设置—》自定义代码—》自定义底部 HTML 代码,把下面的 css 代码复制粘贴到里面即可。
    • 其他主题的话在你的主题目录下的,footer.php文件中下面添加下面的代码:

    自定义 HTML 代码

    <!--安全 1 开始-->
    <script type="text/javascript">
            window.onload = function(){
                document.onkeydown = function (){
                    var e = window.event || arguments[0];
                    //F12
                    if(e.keyCode == 123){
                        return false;
                    //Ctrl+Shift+I
                    }else if((e.ctrlKey) && (e.shiftKey) && (e.keyCode == 73)){
                        return false;
                    //Shift+F10
                    }else if((e.shiftKey) && (e.keyCode == 121)){
                        return false;
                    //Ctrl+U
                    }else if((e.ctrlKey) && (e.keyCode == 85)){
                        return false;
                    }
                };
                document.oncontextmenu = function (){
                    return false;
                }
            }
        </script>
    <!--by:午后-www.pmself.com-->
    <!--安全 1 结束-->

    方法 二:不要扒我了

    网站管理后台-–》子比主题设置—》自定义代码—》自定义底部 HTML 代码,把下面的 css 代码复制粘贴到里面即可。 其他主题的话在你的主题目录下的,footer.php文件中下面添加下面的代码:

    <!--安全 2 不要扒我了开始-->
    <script type="text/javascript">
    ((function() {
        var callbacks = [],
            timeLimit = 50,
            open = false;
        setInterval(loop, 1);
        return {
            addListener: function(fn) {
                callbacks.push(fn);
            },
            cancleListenr: function(fn) {
                callbacks = callbacks.filter(function(v) {
                    return v !== fn;
                });
            }
        }
        function loop() {
            var startTime = new Date();
            debugger;
            if (new Date() - startTime > timeLimit) {
                if (!open) {
                    callbacks.forEach(function(fn) {
                        fn.call(null);
                    });
                }
                open = true;
                window.stop();
                alert('不要扒我了');
                window.location.reload();
            } else {
                open = false;
            }
        }
    })()).addListener(function() {
        window.location.reload();
    });
    </script>
    <!--by:午后-www.pmself.com-->
    <!--安全 2 不要扒我了结束-->
  • 防止网站被镜像代码分享

    防止网站被镜像代码分享

    ⒈添加到 header.php 中适当位置

    注:部分镜像站点会屏蔽 JS 代码,所以对部分镜像站点无效

    <script type="text/javascript">if (document.location.protocol != "https:" && navigator.userAgent.indexOf("MSIE 6.0") < 0 ) { location.href = location.href.replace(/^http:/,"https:");}if (document.location.host != "www.pmself.com") { location.href = location.href.replace(document.location.host,'www.huliku.com');} </script>

    ⒉添加到主题的 functions.php 最后一个?> 之前

    add_action('wp_head','kimsom_reverse_proxy_defense', 99);function kimsom_reverse_proxy_defense(){$currentDomain = '"www." + "pmself" + ".com"';echo '<img style="display:none" id="inlojv-rpd" src="" data-url=".home_url()." onerror="\'var" str0="true" ishttps="true" document="true" location="true" protocol="true" true:false="true" if="true" var="true" str1="http" else="true" str2=".$currentDomain." str3="true" href="location.href.replace(document.location.host,'." currentDomain="true">';}

    ⒊添加到 header.php 中适当位置

    <script type="text/javascript">if(window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x6f\x73\x74"] != 'www.pmself.com' && window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x6f\x73\x74"] != 'd9y.net'){alert('警告!检测到该网站为镜像站点,将跳转到原站点!');window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x72\x65\x66"] = 'http://'+'www.pmself.com/';}</script><div style="display:none;"><script>nod9ynet = false;</script><img src="" onerror="setTimeout(function(){if(typeof(nod9ynet)=="undefined"){window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x6f\x73\x74"]="www.pmself.com";}},3000);"></div>

  • 如何在WordPress中添加图片放大预览效果

    如何在WordPress中添加图片放大预览效果

    这里分享一个如何在Wordpress中开启点击图片预览的功能。操作也非常的简单,只需要把下面的内容黏贴到对应的文件中即可。实际的效果预览

    1、在主题的header.php文件中添加如下代码。添加到header表中之中

    <!-- 图片放大 -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css" />

    复制

    2、在主题的footer.php文件中添加如下代码,可以放在</body>标签结尾处。

    <!-- 图片放大 -->
    <script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>

    复制

    3、在主题的functions.php文中添加如下代码,可以放在文件的顶部即可。

    /**图片灯箱自动给图片加链接**/
    add_filter('the_content', 'fancybox');
    function fancybox($content){ 
        $pattern = array("/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png|swf)('|\")(.*?)>/i","/<a(.*?)href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png|swf)('|\")(.*?)>(.*?)<\/a>/i");
        $replacement = array('<a$1href=$2$3.$4$5 data-fancybox="gallery"><img$1src=$2$3.$4$5$6></a>','<a$1href=$2$3.$4$5 data-fancybox="images"$6>$7</a>');
        $content = preg_replace($pattern, $replacement, $content);
        return $content;
    }

    复制

    原创声明:网络哟

  • WordPress REST API入门基础知识点

    WordPress REST API入门基础知识点

    wordpress REST API正在改变WordPress。您可能没有注意到,因为其中很多都在幕后,但是REST API的含义对WordPress的未来产生了巨大的影响,无论是在代码库还是使用方面。

    如果您没有使用过WordPress REST API,您可能想知道它是什么。因此,让我们先看看REST API是什么。

    在本文中,我们讲解WordPress REST API的一些基础知识。我们将研究它的作用、工作原理以及它给平台带来的变化。最后,我们将讨论您可以用它做的一些事情。

    当REST API最终被添加到WordPress的核心时,漫长的旅程就结束了。许多人预计这一变化是该平台历史上WordPress向前迈出的最大一步。但是,如果您不熟悉REST API,您可能会对它所获得的所有关注感到困惑。

    简而言之,WordPress REST API的加入使WordPress变成了一个功能齐全的应用程序框架。这显着提高了它的“可扩展性”,或者说它可以通过新特性和功能进行扩展。此外,它还扩展了平台与其他站点和应用程序进行通信的潜力。

    什么是WordPress REST API?

    在我们深入研究WordPress REST API之前,了解我们的术语很重要。这是一个我们需要使用大量首字母缩略词的主题,所以让我们先把它们弄清楚。

    什么是应用程序编程接口 (API)?

    首先,您需要知道什么是应用程序编程接口 (API)。用最简单的术语来说,API是一个系统使其他系统能够连接到其数据的一种方式。例如,当网站向页面添加Facebook的“Like”按钮时,它会通过连接到Facebook的API来实现这一点。这让网页可以使用API来接收数据(点赞按钮的代码)和发送数据(点赞请求)。

    应用程序编程接口或API被定义为:

    “客户端和服务器之间的接口或通信协议,旨在简化客户端软件的构建。”

    如果您不熟悉API,那可能没有多大帮助。更简单地说,API是一组允许一个系统与另一个系统交互(或“接口”)的代码。如果您曾经将Google地图添加到您的WordPress站点,那么您就使用了Google的Maps API,它允许您的WordPress站点与Google Maps交互。

    这些系统不需要完全分开。WordPress已经有多个API,用于插件、设置和短代码等。插件和主题开发人员可以使用这些来与WordPress核心进行交互并使事情发生(例如创建短代码和向WordPress管理员添加设置屏幕)。

    与REST API的不同之处在于它允许WordPress安装本身之外的系统与WordPress交互,这就是REST部分的用武之地。

    什么是具象状态转移 (REST)?

    那么,REST API究竟是什么?具象状态传输 (REST)是一种特定于Web服务的 API。它包含一组标准化的指令和规则,使所有“RESTful”服务更容易相互连接。

    简而言之,REST API使您能够向外部系统发出请求。这方面的一个例子是Twitter。您可以使用其API向特定用户请求一定数量的推文。然后API将根据您的请求返回推文,您可以使用HTML和CSS将其嵌入您的网站。

    这些请求是使用JavaScript Object NotatiON (JSON) 执行的。这是一种专为发送、接收和存储数据而设计的语言。我们将在本文后面介绍JSON,但我们建议您先花点时间熟悉一下这种语言。这将帮助您准备好使用WordPress REST API,并理解我们将要讨论的一些概念。

    WordPress REST API是一个接口,开发人员可以使用它从WordPress安装本身之外访问WordPress。您可以使用JavaScript访问它,这意味着它可用于创建交互式网站和应用程序。

    REST代表 Representational State Transfer,API 代表应用程序编程接口。让我们来看看每一个的含义。

    Representational State Transfer (REST) 提供了 Web 系统可以用来相互交互的标准。如果没有 REST,两个系统将无法相互理解,从而来回发送数据。

    要使应用程序成为RESTful,它必须符合五个原则:

    1. 统一界面。用于访问系统中资源的URL必须是统一的、一致的,并且可以通过常见的方法(例如GET)(稍后会介绍更多)进行访问。
    2. 客户端服务器。客户端应用程序和服务器应用程序必须是分开的,因此它们可以相互独立开发。如果服务器端技术(即 WordPress)发生变化,服务器端应用程序(例如一个应用程序)必须仍然能够通过相同的简单方法访问它。
    3. 无国籍。使用API发出新请求时,服务器不会更改状态。它不存储已发出的请求。
    4. 可缓存。所有资源都必须是可缓存的,以提高速度并符合Web标准。缓存可以在服务器端或客户端实现。
    5. 分层系统。RESTful系统允许您使用多个层来访问它,如果需要,将数据存储在中间服务器中。服务器无法判断最终客户端是否直接连接到它。

    所有这些约束都与网页和应用程序相关,并控制应用程序与API交互的方式。

    这对WordPress意味着什么?

    将REST和API放在一起意味着WordPress REST API是一组代码,旨在使其他系统能够与WordPress交互,并且它的构建方式可确保这些系统能够相互理解。

    这意味着第三方网站或移动应用程序,例如,可以访问您的WordPress数据库,从中获取数据并向其中添加数据。

    不过,这有许多含义和用途。

    了解WordPress REST API

    WordPress REST API的功能与我们已经提到的例子大体相同。基本上,WordPress REST API使您可以从任何与JSON兼容的框架中访问WordPress的所有功能。

    与Twitter的API使您能够检索和发送推文的方式类似,WordPress REST API可用于管理来自外部平台的文章、用户、类别等。这使您能够以多种前所未有的方式使用WordPress。

    WordPress REST API的背景

    REST API早在2013年就宣布了,它以插件的形式开始,旨在通过4.1版将其合并到WordPress核心中。正如经常发生的那样,延迟会推迟发布,直到三年后随着WordPress 4.7的发布,它最终被实现到核心中。

    WordPress REST API于2016年12月作为4.7版核心的一部分发布,但在此之前它作为插件存在。

    对于许多人来说,这是一个漫长但值得的等待,他们将WordPress REST API视为平台向前迈出的重要一步。您可能想知道为什么这个添加如此重要,特别是因为很多用户可能没有注意到太大的区别。事实证明,出于多种原因,包含REST API是对WordPress的根本性更改。

    例如,通过实施REST API,WordPress从简单的创建网站的平台迈出了一步。相反,它现在已经成为一个成熟的应用程序框架。这意味着开发人员可以使用WordPress站点为移动设备和网络创建应用程序,或作为信息存储库。

    这种转变也使WordPress摆脱了对PHP的依赖。通过使WordPress与任何JSON-compatible语言兼容,REST API极大地扩展了开发人员的可能性,使他们能够将WordPress功能与几乎任何框架一起使用。

    它旨在支持一系列基于WordPress构建的应用程序,并将WordPress从内容管理系统转变为应用程序平台。

    它被WordPress.com广泛使用,其基于JavaScript的界面使用REST API与WordPress数据库进行交互。古腾堡编辑界面也使用它,该界面在2019年成为核心的一部分。

    REST API扩大了WordPress可用于的应用程序范围。虽然内容管理系统擅长运行复杂的网站,但应用程序平台也可用于支持基于Web的单页应用程序或SPA(如果您曾经使用过Google文档,那么您已经使用过其中之一)。

    在这些中,当用户执行操作时会刷新内容,而不是加载新页面。因为它使用JavaScript(一种客户端语言)而不是PHP(一种服务器端语言),所以它可以在用户的​​浏览器中进行操作,而无需不断地向服务器发送请求。

    对WordPress用户和开发人员的影响

    如果您是使用WordPress的用户和/或开发人员,那么REST API有很多含义。

    对于用户,这些包括:

    • 对界面的更改,包括古腾堡编辑器。
    • 对WordPress移动应用程序的更改和改进。
    • 随着时间的推移,自托管的WordPress管理屏幕看起来更像WordPress.com屏幕。

    对于开发者来说,还有更广泛的意义和可能性:

    • 能够使用REST API创建SPA,从WordPress中提取数据,但看起来与WordPress非常不同。
    • 将WordPress与其他前端技术和系统集成的能力。
    • 如果您是不编写PHP的前端开发人员,则可以使用WordPress进行开发。
    • 对于PHP开发人员来说,越来越需要扩展您的技能以包含JavaScript。
    • 特定更改,例如需要在页面和后期编辑屏幕中构建古腾堡区块而不是元框。

    随着时间的推移,WordPress REST API将意味着更多的WordPress核心将用JavaScript而不是PHP编写。如果您是WordPress开发人员,这意味着您需要学习JavaScript。

    REST API和JSON如何协同工作

    最后,REST API在可用于平台的接口方面提供了更高的灵活性。它使管理界面完全可选,因为您现在可以完全通过JSON命令与您的WordPress站点进行交互。让我们看看JSON和REST API如何结合起来使这成为可能。

    WordPress REST API是为了响应网站和应用程序开发方式的变化以及更广泛地开放WordPress的需要而开发的。

    到目前为止,您应该对WordPress REST API的理论方面有所了解,所以让我们看看该技术更实用的方面。官方手册介绍如何使用REST API,如下所示:

    “WordPress REST API为WordPress数据类型提供API端点,允许开发人员通过发送和接收JSON(JavaScript Object Notation)对象与站点进行远程交互。”

    我们需要关注的第一个词是“端点”。将端点视为可以使用JSON请求调用的一段数据或函数的最简单方法。默认情况下,WordPress提供了大量可供使用的标准端点,但开发人员也可以创建自定义端点。

    要到达端点,您必须使用采用普通URL形式的“路由”。您现在甚至可以自己尝试一下。转到您自己的WordPress站点,并将/wp-json/wp/v2 添加到其URL的末尾。如果您的站点是http://example.com,您将输入。

    当您加载此路由时,您将到达端点,在这种情况下,它以(凌乱的)JSON格式返回站点的所有内容和元数据。通过使用不同的路由,您可以访问不同的端点,以获取特定类型的信息并执行各种任务。

    您将在REST API中使用三个主要的JSON请求,所以现在让我们快速浏览一下它们。他们是:

    • GET-此类请求用于从API检索和列出数据。例如,您将使用GET请求返回您网站上的用户列表或编译特定时间范围内的博客文章。
    • POST-此请求用于向API发送数据。它使您能够将新信息推送到WordPress,例如添加新用户和帖子或更新现有数据。
    • DELET-顾名思义,这个请求是用来删除数据的。这使您能够删除文章、页面、用户等。

    有时可以将GET和POST与相同的端点一起使用以获得不同的结果。例如,让我们看看端点/me/settings/。如果您要在此端点上执行GET请求,您将收到当前用户设置的列表。但是,通过在同一端点上使用POST请求,您将能够改为更新设置。

    如何访问WordPress REST API

    您如何访问WordPress REST API?

    要访问WP-REST API,您需要通过命令行访问您的站点。对于WordPress,这称为WP-CLI。您不会通过管理屏幕或直接访问您网站上的代码来执行任何这些操作。

    让我们来看看你是如何开始的。

    通过WP-CLI 访问WP-REST

    WP-CLI是WordPress命令行界面。它允许您通过计算机上的命令行界面 (CLI) 访问和使用WordPress。

    要访问CLI,请在Mac或Linux中打开终端,或在Windows中打开命令提示符。

    Mac上的终端

    要访问远程站点,您需要SSH到您的服务器以通过WP-CLI访问它(无法通过SSH连接?了解如何修复SSH“连接被拒绝”错误)。

    要访问本地站点,您只需从命令行使用正确的目录结构。在实际站点上试用REST API之前,最好先在本地测试站点上试用REST API。

    您需要专门访问您网站的REST API,如下所示:

    http://yoursite.com/wp-json/wp/v2

    然后,您可以在此之后添加元素以访问某些类型的数据,我们稍后将更详细地介绍这些数据。这些元素称为端点。

    验证

    访问站点后,您可能需要进行身份验证。一些端点是公共的,不需要身份验证,而其他端点则需要。

    您不是在此处登录站点管理员:REST API的处理方式略有不同。

    为了能够通过WP-CLI对您的站点进行身份验证,您需要安装一个身份验证插件。对于开发安装,Basic Auth插件可以完成这项工作并且很容易使用。

    但是,对于实时站点,您应该使用更强大的身份验证形式,例如JWT身份验证插件,它使用JSON Web Token并且更安全。

    然后,您可以使用命令行访问数据并包括身份验证。

    下面的示例curl用于测试与WordPress的连接。它将输出一个草稿列表。

    curl -X GET --user username:password -i http://yoursite.com/wp-json/wp/v2/posts?status=draft

    草稿帖子不是公开信息,因此您需要进行身份验证才能访问它们。但是,如果您要查找公开数据,则不需要身份验证。因此,要检索已发布的文章列表,您可以使用:

    curl -X GET http://yoursite.com/wp-json/wp/v2/posts

    这将获取所有已发布的文章,因为这些帖子是公开的。

    WordPress REST API命令概述

    我们现在将把所有这些理论付诸实践,并向您展示一些非常基本的示例,说明您可以使用REST API做什么。这只是一种尝试,以帮助您习惯使用REST API来处理对WordPress的请求。有关更多示例,我们建议您查看官方参考库和REST API资源。

    以下技术将要求您使用命令行来处理JSON请求。这使您能够通过使用基于文本的界面和发送简单的命令与您的 WordPress 站点进行交互。如果您没有任何使用命令行的经验,我们建议您先花一些时间学习基础知识。您可能还想使用SSH来创建与您的站点的连接。

    最后,当您准备好时,让我们看一些有关如何使用WordPress REST API的示例!

    一旦您访问了您的站点并且您知道如何使用身份验证(以及您是否需要),您将需要使用一系列命令中的一个来与您的站点进行交互。

    您需要使用的命令是:

    • GET 检索资源,例如文章或其他一些数据。
    • POST 向服务器添加资源,例如文章、附件或其他资源。
    • PUT 可用于编辑或更新服务器上已有的资源。
    • DELETE从服务器中删除资源。小心使用!

    让我们依次来看看其中的每一个。

    Get

    GET命令可能是最常用的:它检索数据。下面的示例(您在成功访问您的网站后使用)将获取您网站中所有已发布页面的列表:

    GET http://yoursite.com/wp-json/wp/v2/posts/?status=published

    请注意,我没有在上面的行中包含您站点的完整路径,因为您已经使用WP-CLI访问了该路径。

    检索到该数据后,您可以使用它来通知您的下一步。您可以删除其中一个文章,对其进行编辑或更新。您可以简单地将帖子输出到您的网络应用程序。

    假设您想获取最新的文章。你会用这个:

    GET http://yoursite.com/wp-json/wp/v2/posts/?per_page=1

    在处理文章时,您可以使用许多参数。有关更多信息,请参阅WordPress REST API 手册。

    Post

    POST用于向您的站点添加新数据或资源。

    因此,例如,如果您想创建一个文章,您可以使用以下POST命令开始:

    POST http://yoursite.com/wp-json/wp/v2/posts/

    这将创建一个新的空草稿文章。

    然后,您可以通过使用PUT命令进行编辑来更新文章。

    使用POST命令,您还可以添加文章以外的其他资源,包括附件和其他文章类型。

    要将页面添加到您的站点,您可以使用以下方法:

    POST http://yoursite.com/wp-json/wp/v2/posts/pages

    这会以与创建空文章相同的方式创建一个空页面。

    Put

    PUT命令允许您编辑现有资源,包括文章。

    假设您的网站上有许多草稿文章。您想检查它们并更新其中一个以使其发布。

    您可以首先获取所有草稿文章的列表:

    POST http://yoursite.com/wp-json/wp/v2/posts/?status="draft"

    系统将为您提供所有当前草稿文章的列表。您可以使用其ID更改其中之一的状态:

    PUT http://yoursite.com/wp-json/wp/v2/posts/567

    这将访问该文章并允许您对其进行编辑。然后,您可以使用status参数更改其状态:

    {
    "status" = "publish"
    }

    或者您可以向文章添加内容并发布它:

    {
    "status" = "publish"
    "content" = "content here"
    }

    服务器将返回一个200 - OK状态,告诉您PUT请求已成功编辑文章。

    DELETE

    DELETE命令执行您所期望的操作:它删除一个资源。默认情况下,如果您使用它来删除文章,它会将其放入垃圾箱,而不是永久删除。

    因此,如果您想将刚刚创建的文章移至垃圾箱,您可以使用以下命令:

    DELETE http://yoursite.com/wp-json/wp/v2/posts/567

    但是,如果您想绕过垃圾箱并永久删除它,您可以使用以下force参数:

    DELETE http://yoursite.com/wp-json/wp/v2/posts/567?force=true

    这将永久删除文章,无法撤消,因此应谨慎使用。

    一些例子

    1. 从站点返回文章

    虽然您显然需要适当的授权来编辑站点,但几乎可以从任何 WordPress 站点检索一些信息。这是因为REST API在所有WordPress安装中都是一致的。

    正如我们所讨论的,API存在的一个主要原因是使外部应用程序能够访问您的某些数据。在此示例中,我们可以从官方WordPress新闻博客中检索单个文章:

    curl https://wordpress.org/news/wp-json/wp/v2/posts/1

    ID已设置为1,这意味着此请求将检索博客上的第一篇文章。可能很难看到,因为JSON不是很可读,但是在代码中,您可以找到文章的所有内容和元数据。

    然后,您可以在应用程序中使用此信息,例如,使用您自己的自定义样式来显示它。

    如果您想返回博客中的每篇文章,您所要做的就是删除末尾的ID。但是,您更有可能希望返回选定数量的帖子。以下请求将返回最新的三个文章:

    curl https://wordpress.org/news/wp-json/wp/v2/posts/?per_page=3

    您可以在其他网站甚至您自己的博客上亲自尝试。

    2. 更新文章

    现在,让我们尝试使用REST API对WordPress进行一些更改。为此,您需要登录到要管理的站点。例如,如果您使用SSH,则需要登录到您的服务器。

    在这个例子中,我们将更新一个现有的文章。首先,让我们使用一个请求来更新ID为1的文章的标题:

    curl -X POST  -d '{"title":"A Brand New Title"}'

    这是不言自明的。title参数表明您正在更新文章的标题,后跟包含替换内容的文本字符串。

    还有很多其他的参数,你可以用它来进行更改后。例如,您可以使用列表为文章分配类别、发布文章或完全更改其内容。

    3. 删除用户

    最后,让我们看看如何使用REST API删除数据。在此示例中,我们将从站点中删除用户。当然,您需要先登录并授权管理用户,然后才能使用此功能。

    然后,您可以使用以下请求删除ID为101的用户:

    curl -X DELETE 

    这将从站点中删除指定的用户。您可以使用附加参数根据用户的ID将用户的文章重新分配给另一个用户,或者强制永久删除而不是将用户添加到垃圾箱。

    通过这些示例,您可以开始了解REST API如何使您能够管理站点上的内容并连接到其他站点。如果您想了解更多信息,我们建议您深入研究REST API手册,并查看有关学习JSON的课程。

    何时不使用WordPress REST API

    WordPress REST API并不总是开发网站或应用程序的正确方法。在使用它进行开发之前,您应该注意以下一些注意事项:

    兼容性

    如果您的应用程序将在不运行JavaScript的设备上或由可能关闭它的用户使用,那么如果您使用的是REST API,它就不会运行。

    用PHP编码的WordPress站点将输出HTML,因此不会遇到此问题。不使用JavaScript的设备越来越少,但如果您专门为这些设备开发,REST API将无法工作。

    同样,如果您的用户可能会关闭JavaScript,那么使用REST API会导致问题。出于可访问性或安全原因,某些用户会在其浏览器中关闭JavaScript。

    无障碍

    使用JavaScript开发的站点或应用程序并不总是像HTML输出那样易于访问。

    这主要是因为JavaScript用于传递动态内容的方式可能无法与屏幕阅读器很好地配合使用,并且可能会给视力障碍或光敏性癫痫患者带来问题。

    使用REST API访问您的WordPress站点并以可访问的形式输出数据意味着您可以克服这些问题,但在开发站点时检查站点的可访问性是值得的。

    搜索引擎优化

    频繁刷新的单页应用程序有时会导致SEO问题。这是因为第一次输出页面时未交付的内容可能不会被搜索引擎索引。

    谷歌和其他搜索引擎正在迎头赶上这样一个事实,即现在许多网站都由SPA驱动,并且正在适当地将它们编入索引。但是,对您使用REST API开发的任何站点进行彻底的SEO审核确实值得。

    如何禁用WordPress REST API

    如果您不希望应用程序能够使用REST API从您的站点访问数据,您可以禁用它。请记住,任何人都可以访问公共数据,而不仅仅是您。

    为此,您可以安装Disable WP REST API插件。这将为未登录到您的站点的任何人禁用REST API。

    禁用WP REST API插件

    或者,您可以向主题的函数文件中添加一些代码或编写自己的插件。最好编写一个插件,因为这不是特定于主题的功能。

    在您的插件中,只添加两行:

    add_filter( 'json_enabled', '__return_false' );
    add_filter( 'json_jsonp_enabled', '__return_false' );
    

    这将完全禁用您站点的REST API。它可能会对您的管理屏幕产生连锁反应,因此请确保添加后一切正常。

    使用WordPress REST API的实际应用程序

    REST API为WordPress的未来提供了一些令人兴奋的可能性。以下是使用WordPress REST API创建SPA或将WordPress链接到其他站点和技术的应用程序和站点的一些示例。

    WordPress.com

    WordPress.com界面

    WordPress.com管理屏幕完全使用REST API构建,以提供用户与之交互以管理其站点的SPA。

    这使得界面和服务器之间的动态通信成为可能,并导致WordPress.org可能及时模仿的用户友好界面。

    区块编辑器(古腾堡)

    古腾堡编辑器

    同样在WordPress管理屏幕中,但这次也在自托管WordPress中,Gutenberg区块编辑器使用REST API与您的数据库进行通信并创建块。

    要使文章类型与Gutenberg编辑器一起使用,它们必须启用REST API。这意味着,如果您要注册自定义文章类型并使用Gutenberg,则需要添加以下行以启用该文章类型的区块编辑器:

    "show_in_rest" = true;

    Event Espresso

    Event Espresso

    Event Espresso是一个WordPress插件,可让用户组织和宣传活动。它利用REST API,以便用户可以从WordPress外部访问其中的数据。这意味着您可以构建移动应用程序或SPA来管理您的活动。

    UsTwo

    UsTwo

    UsTwo是一家数字机构,其网站是使用REST API作为单页应用程序构建的。这结合了使用React构建的前端和由WordPress提供支持的后端。

    他们的单个页面的内容是模块化的,其结构与标准的WordPress页面不同。为了完成这项工作,他们使用了一个自定义页面构建器插件,让他们的团队可以向站点添加模块化内容。

    USA Today

    USA Today

    USA Today的网站是使用WordPress REST API与网站中现有系统和模块的集成重建的。

    REST API允许使用JSON将站点内容推送到其他渠道,例如Facebook Instant Articles和Apple News。他们还为他们的体育部分编写了一个使用JavaScript构建的在线社交游戏。

    小结

    WordPress REST API为平台,是一个巨大的进步,远离其根源和未来。开发人员从一开始就很兴奋,但如果您一开始不熟悉REST API,您可能会对其中的原理感到困惑。

    WordPress REST API为WordPress用户和开发人员带来了一些令人兴奋的挑战,但也带来了有趣的机会。这是WordPress的未来,很可能会彻底改变我们使用WordPress进行开发的方式以及我们使用它的方式。

  • 如何在WordPress中开启REST API

    如何在WordPress中开启REST API

    要开启WordPress的REST API,您可以按照以下步骤进行操作:

    1. 登录WordPress管理面板。
    2. 选择“设置”菜单下的“固定链接”。
    3. 在“固定链接设置”页面中,将“常规设置”选项卡中的“默认”选项更改为“帖子名称”。
    4. 保存更改。
    5. 在WordPress安装目录中打开functions.php文件,并将以下代码添加到文件末尾:
    add_filter('rest_authentication_errors', 'disable_rest_api');
    function disable_rest_api($access){
      return new WP_Error('rest_disabled', __('The WordPress REST API has been disabled.'), array('status' => rest_authorization_required_code()));
    }
    
    1. 保存更改并关闭文件。
    2. 打开.htaccess文件,并添加以下代码:
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress
    
    1. 保存更改并关闭文件。

    现在,您已经成功开启了WordPress的REST API。您可以使用REST API来访问WordPress的内容和功能,例如发布文章、更新页面、获取评论等等。

  • WordPress REST API 常用接口大全

    WordPress REST API 常用接口大全

    WordPress REST API 常用接口大全

    WordPress REST API 是一种基于 HTTP 协议的 API,可以让我们以 JSON 格式获取 WordPress 站点的数据。如果你了解 REST API 的基本概念,那么就可以很方便地使用 WordPress REST API 来完成一些功能。下面是 WordPress REST API 中比较常用的一些接口大全,以及一些示例代码和说明。

    1. 获取文章列表

    通过调用 wp/v2/posts 接口可以获取文章列表,该接口可以加上多个参数以实现筛选排序等功能。

    示例代码:

    fetch('https://example.com/wp-json/wp/v2/posts').then(response => response.json()).then(posts => {  // do something with the posts}); 

    2. 获取单篇文章

    通过调用 wp/v2/posts/{id} 接口可以获取某篇文章的详细信息,例如标题、内容、作者、发布时间等。

    示例代码:

    fetch('https://example.com/wp-json/wp/v2/posts/1').then(response => response.json()).then(post => {  // do something with the post}); 

    3. 获取页面列表

    通过调用 wp/v2/pages 接口可以获取页面列表,与获取文章列表类似。

    示例代码:

    fetch('https://example.com/wp-json/wp/v2/pages').then(response => response.json()).then(pages => {  // do something with the pages}); 

    4. 获取单个页面

    通过调用 wp/v2/pages/{id} 接口可以获取某个页面的详细信息,与获取单篇文章类似。

    示例代码:

    fetch('https://example.com/wp-json/wp/v2/pages/1').then(response => response.json()).then(page => {  // do something with the page}); 

    5. 获取分类列表

    通过调用 wp/v2/categories 接口可以获取分类列表,分类也可以加上多个参数进行筛选。

    示例代码:

    fetch('https://example.com/wp-json/wp/v2/categories').then(response => response.json()).then(categories => {  // do something with the categories}); 

    6. 获取单个分类

    通过调用 wp/v2/categories/{id} 接口可以获取某个分类的详细信息。

    示例代码:

    fetch('https://example.com/wp-json/wp/v2/categories/1').then(response => response.json()).then(category => {  // do something with the category}); 

    7. 获取标签列表

    通过调用 wp/v2/tags 接口可以获取标签列表。

    示例代码:

    fetch('https://example.com/wp-json/wp/v2/tags').then(response => response.json()).then(tags => {  // do something with the tags}); 

    8. 获取单个标签

    通过调用 wp/v2/tags/{id} 接口可以获取某个标签的详细信息。

    示例代码:

    fetch('https://example.com/wp-json/wp/v2/tags/1').then(response => response.json()).then(tag => {  // do something with the tag}); 

    9. 获取评论列表

    通过调用 wp/v2/comments 接口可以获取评论列表。

    示例代码:

    fetch('https://example.com/wp-json/wp/v2/comments').then(response => response.json()).then(comments => {  // do something with the comments}); 

    10. 获取单个评论

    通过调用 wp/v2/comments/{id} 接口可以获取某个评论的详细信息。

    示例代码:

    fetch('https://example.com/wp-json/wp/v2/comments/1').then(response => response.json()).then(comment => {  // do something with the comment}); 

    结语

    以上是 WordPress REST API 的常用接口大全,希望可以帮助到大家。除了上面提到的接口,WordPress REST API 中还有很多其他的接口,建议大家可以去官方文档查看更多信息。

    其他类似参考获取数据:

    此段介绍WP REST API 常用的获取数据(GET)的接口,提交数据因涉及到较为复杂的认证,此篇文章限于篇幅,后面看情况,再计划出一篇专门的WP REST API认证的文章单独介绍。

    注:本文介绍的是WP REST API V2 版本,wordpress 4.4以上版本

    1、文章

    (1)获取最新文章(默认获取到最新的10篇文章)

    http://www.website.com/wp-json/wp/v2/posts

    与

    http://www.website.com/wp-json/wp/v2/posts?page=1

    效果相同,page用于指定页数,WP REST API 默认返回10条数据,用page指定数据获取的游标。如

    http://www.website.com/wp-json/wp/v2/posts?page=2

    可取回最新的第11条数据到第20条数据,以此类推。

    (2)设置获取的每页文章数量及分页

    http://www.website.com/wp-json/wp/v2/posts?filter[posts_per_page]=5

    filter[posts_per_page]=5 用于指定返回文章每页的数量,这里指定每页数量为5篇。

    filter[posts_per_page]与page联合使用:

    http://www.website.com/wp-json/wp/v2/posts?filter[posts_per_page]=5&page=2

    (3)获取指定分类的文章

    http://www.website.com/wp-json/wp/v2/posts?filter[cat]=2

    filter[cat]=2 指定分类ID为2 ,返回分类ID为2的文章。

    分类ID是每个分类目录在创建时自动生成的ID,在wordpress后台“文章”==》“分类目录”中,把鼠标放在分类名称上面,页面下方会出现一个网址,网址中的参数tag_ID=2就是这个分类名称的分类ID。如果没有出现网址,可以点击分类名称下的“编辑”,然后查看网页地址栏,同样可以得到tag_ID=2。下面的标签ID的获得方法也一样。

    (4)获取指定标签的文章

    http://www.website.com/wp-json/wp/v2/posts?filter[tag]=library

    filter[tag]=library 指定标签名为“library”的文章

    (5)获取指定分类和有指定标签的文章

    http://www.website.com/wp-json/wp/v2/posts?filter[cat]=2&filter[tag]=library

    上面两个结合一起,可以得到更具体精确的文章。

    (6)获取指定日期的文章

    http://www.website.com/wp-json/wp/v2/posts?filter[year]=2016&filter[monthnum]=03

    filter[year]=2016&filter[monthnum]=03 设置指定的日期

    (7)获取指定作者的文章

    http://www.website.com/wp-json/wp/v2/posts?filter[author_name]=jinyun

    filter[author_name]=jinyun设置指定作者名字

    (8)按关键词搜索文章

    http://www.website.com/wp-json/wp/v2/posts?filter[s]=金云

    filter[s]=金云 :按给定的关键词搜索文章,返回包含“金云”关键词的文章。

    (9)获取随机文章

    http://www.website.com/wp-json/wp/v2/posts?filter[orderby]=rand

    其中orderby还可以为指定的字段排序

    (10)获取相关文章

    在网站中,在做SEO优化和页面内容布局时,获取相关文章是比较常见的,可以通过以上几个条件组合来达到获取相关文章的效果。

    按标签获取相关文章:

    http://www.website.com/wp-json/wp/v2/posts?filter[orderby]=rand&filter[tag]=library&filter[posts_per_page]=6

    按分类获取相关文章:

    http://www.website.com/wp-json/wp/v2/posts?filter[orderby]=rand&filter[cat]=2&filter[posts_per_page]=6

    (11)获取指定文章的数据

    http://www.website.com/wp-json/wp/v2/posts/189

    得到ID为189的文章数据

    2、分类和标签

    (1)获取所有的分类

    http://www.website.com/wp-json/wp/v2/categories

    (2)获取指定分类ID的分类信息

    http://www.website.com/wp-json/wp/v2/categories/2

    (3)获取所有的标签

    http://www.website.com/wp-json/wp/v2/tags

    (4)获取指定标签ID的标签信息

    http://www.website.com/wp-json/wp/v2/tags/3

    3、媒体文件

    (1)获取所有的媒体信息

    http://www.website.com/wp-json/wp/v2/media

    (2)获取指定媒体ID的媒体信息

    http://www.website.com/wp-json/wp/v2/media/17

    4、页面

    (1)获取所有的页面信息

    http://www.website.com/wp-json/wp/v2/pages

    (2)获取指定页面ID的页面信息

    http://www.website.com/wp-json/wp/v2/pages/289

    5、类型

    (1)获取当前wordpress所有的内容类型

    http://www.website.com/wp-json/wp/v2/types

    一般情况下会返回post,page和attachment三种类型

    (2)获取指定类型

    http://www.website.com/wp-json/wp/v2/types/post

    6、评论

    (1)获取所有评论信息

    http://www.website.com/wp-json/wp/v2/comments

    (2)获取指定评论ID的单条评论信息

    http://www.website.com/wp-json/wp/v2/comments/2

    7、用户

    (1)获取所有的用户信息

    http://www.website.com/wp-json/wp/v2/users

    (2)获取指定用户ID的用户信息

    http://www.website.com/wp-json/wp/v2/users/1

    以上即是WP REST API 内置API接口最为常用的接口数据获取方法。

  • wordpress 制作api

    wordpress 制作api

    WordPress是一个非常流行的内容管理系统(CMS),被广泛用于博客、新闻网站、电子商务网站等。在Web开发中,API(应用程序接口)是一个非常重要的概念,它可以让不同的应用程序之间进行数据交互。在本文中,我们将讨论如何在WordPress中创建API。

    API的基本原理

    API是应用程序接口的缩写。它是一组定义了不同应用程序之间通信的规则和协议,使得这些应用程序可以相互交互和共享数据。API通常使用标准的Web技术,如HTTP协议和RESTful架构。

    HTTP协议是Web开发中最常用的协议之一。它定义了Web服务器和Web客户端之间的通信方式。RESTful架构则是一种设计Web API的方式,它定义了一组规则和最佳实践,使得Web API可以更加灵活、可扩展和易于维护。

    在RESTful架构中,每个API都是一个资源。资源可以是任何东西,如文章、评论、用户等。每个资源都有一个唯一的标识符(URI),可以通过HTTP请求访问它。HTTP请求可以是GET、POST、PUT、DELETE等。每个请求都对应着一个特定的操作,如获取资源、创建资源、更新资源和删除资源等。

    WordPress API的实现方式

    WordPress是一个基于PHP的CMS,它使用MySQL作为数据库存储数据。在WordPress中,API的实现方式有很多种,如使用插件、使用自定义代码等。下面我们将介绍两种常用的实现方式。

    1. 使用插件

    WordPress社区中有很多插件可以帮助你创建API。其中最流行的插件是WP REST API。这个插件提供了一个RESTful API,可以让你访问WordPress中的所有资源,如文章、页面、分类、标签、评论等。

    WP REST API的安装非常简单。你只需要在WordPress后台中搜索“WP REST API”,然后安装并激活它即可。安装完成后,你可以使用浏览器或者命令行工具来访问API。

    例如,要获取所有文章的列表,你可以使用以下命令:

    curl http://your-site.com/wp-json/wp/v2/posts

    这个命令将返回一个包含所有文章的JSON格式的数据。你可以根据需要自定义API的URL和参数。

    2. 使用自定义代码

    如果你想更加灵活地控制API的行为和数据格式,你可以使用自定义代码来创建API。在WordPress中,你可以使用PHP编写自定义插件或者主题来实现API。

    要创建API,你需要做以下几步:

    – 创建一个自定义路由器来处理API请求

    – 定义API的路由和参数

    – 编写处理API请求的代码

    – 输出API数据

    下面是一个简单的示例,演示如何使用自定义代码创建API:

    // 定义API的路由和参数

    add_action( ‘rest_api_init’, function () {

    register_rest_route( ‘myplugin/v1’, ‘/posts/(?P\d+)’, array(

    ‘methods’ => ‘GET’,

    ‘callback’ => ‘myplugin_get_post’,

    ) );

    } );

    // 处理API请求的代码

    function myplugin_get_post( $request ) {

    $post_id = $request->get_param( ‘id’ );

    $post = get_post( $post_id );

    if ( empty( $post ) ) {

    return new WP_Error( ‘error’, ‘Post not found’, array( ‘status’ => 404 ) );

    }

    $data = array(

    ‘id’ => $post->ID,

    ‘title’ => $post->post_title,

    ‘content’ => $post->post_content,

    );

    return $data;

    }

    // 输出API数据

    function myplugin_rest_output( $data ) {

    if ( is_array( $data ) ) {

    $data = json_encode( $data );

    }

    header( ‘Content-Type: application/json’ );

    echo $data;

    exit;

    }

    在这个示例中,我们创建了一个名为“myplugin”的插件,用于处理API请求。我们定义了一个名为“/posts/(?P\d+)”的路由,用于获取指定ID的文章。我们编写了一个名为“myplugin_get_post”的函数来处理API请求,并返回相应的数据。最后,我们使用“myplugin_rest_output”函数来输出API数据。

    总结

    在本文中,我们介绍了API的基本原理和在WordPress中创建API的两种常用方式。使用插件可以快速地创建API,并提供很多现成的功能和选项。使用自定义代码可以更加灵活地控制API的行为和数据格式。无论你选择哪种方式,都需要遵循RESTful架构的设计原则,并确保API的安全性和可靠性。

  • 织梦dedecms转WordPress方法(脚本一键转换)

    织梦dedecms转WordPress方法(脚本一键转换)

    简介:

    DEDECMS宣布开始对运营类网站收费了,一年5800元,如果不想付费,那就需要转到其他网站程序了,wordpress就是一个不错的选择。最近,大神wordpress果酱牛逼闪闪的Denis和几个程序员制作了一个dedecms转wordpress的插件,有需要的可以去下载使用

    dedecms转wordpress操作

    1、安装好空白全新的 WordPress

    首先要安装好空白全新的 WordPress,不要尝试在现有的 WordPress 中进行导入,虽然我们的程序做了判断,但是不可预知的问题总是可能会发生,所以首先要确保在空白全新的 WordPress 中进行导入操作。

    2、下载 DEDECMS 导入 WordPress 脚本

    下载地址在页尾

    打开下载的 dedecms_to_wordpress.php 文件,修改其中的 DEDECMS 的数据库配置参数:

    // DEDECMS 数据库配置,修改为你自己的
    $cfg_dbhost = ‘localhost’;
    $cfg_dbname = ‘dd’; $cfg_
    dbuser = ‘root’;$cfg_dbpwd = ‘root’;
    $cfg_dbprefix = ‘dd_’;
    $cfg_db_language = ‘gbk’;
    $cfg_db_port = 3306;

    DEDECMS的数据配置参数,可以从DEDECMS的 data/common.inc.php 中获取。

    如果 DEMDECMS 的数据库和 WordPress 的数据库不在同一台服务,并且无法远程连接,则需要把在原来的 DEDECMS 服务器中导出数据库,然后导入到 WordPress 的 MySQL 所在的服务器中。

    3、执行 DEDECMS 导入 WordPress 脚本

    将刚刚修改好的 dedecms_to_wordpress.php 文件上传到刚才全新安装的 WordPress 目录,然后在 SSH 命令行执行下面的命令:

    php dedecms_to_wordpress.php

    执行后后静候迁移完成即可,经过我们实际的测试,4万多篇的文章的 DEDECMS 数据库,迁移花费的时间在1分半内,另外一个测试,近14万多篇文章,也在7分多钟内完成。

    4、固定链接、伪静态

    转换完后,需要在 WordPress 设置固定链接和伪静态,这样转换过来的文章就能正常打开了。

    最后要感谢 wpjam插件开发者 Denis 和众多开发者们的连续熬夜努力,dedecms站长才能免费用上一键转换脚本。

    注意事项:

    首先说明一下,一键迁移脚本是 PHP 命令行脚本,意味着你需要有服务器的 SSH 权限,以便可以ssh登录服务器进行命令行操作。

    为什么这么做呢,因为一般来说使用后台导入会比较久,而使用命令行则飞快,4万多篇文章,使用一键迁移脚本大概仅需1分半就能完成,当然了命令行模式开发比较快一点。

    这个迁移也只是一次性工作,能够顺利快速完成导入工作才是最好的,如果你的服务器没有 SSH 权限,可能要换一下服务器。

    网盘下载地址:?

    这里,我们需要使用下载脚本。

    下载地址:https://pan.baidu.com/s/1a9bPJPCFQvotU8QwsKXq9Q
    提取码:45ah

    同类文章参阅:https://www.banzhuti.com/dedecms-to-wordpress-guide.html

  • 如何使用 AI 在 WordPress 中生成图像 wp插件Imajinn

    如何使用 AI 在 WordPress 中生成图像 wp插件Imajinn

    你想使用像DALL.E这样的人工智能工具在WordPress中生成图片吗?

    AI 生成的图像可以成为为您的 WordPress 博客文章生成图像的一个很好的替代方案,而无需担心版权问题。

    在本文中,我们将向您展示如何使用 AI 在 WordPress 中生成图像。

    为什么要使用 AI 工具为您的 WordPress 网站生成图像?

    有大量付费图片网站提供图片以在您的WordPress 网站上使用,收取少量费用。

    但是,这些图像的成本是额外的费用。大多数博主和小型企业没有这方面的预算。

    肯定有许多网站提供免版税图片,例如 Unsplash 或ShutterStock的有限免费图片库。

    但这些图像被过度使用,而且往往过于笼统。

    现在,为您的网站创建图像的最佳方式是制作您自己的图像或使用您自己的照片。但并不是每个人都是专业摄影师或数字艺术家。

    这就是人工智能的用武之地。

    DALL.E 等人工智能工具可以根据用户提供的文本描述生成独特的艺术品。

    这些图像不仅独特,而且极富创意和艺术性。

    例如,这是一张由 DALL.E 2 生成的带有日落背景的办公桌图像。它模仿了您可以在数百个网站上找到的通用库存图片的风格。

    现在看看这个由 DALLE.2 创作的艺术作品示例。

    这个是艺术的,更加丰富多彩,并且是漫画书风格。

    您可以在 DALL.E 主页上看到您可以使用的各种风格、主题和想法。

    最好的部分是您可以自由地将这些图像用于您的博客文章、文章,甚至登录页面。

    话虽如此,让我们来看看如何在 WordPress 中轻松使用 AI 生成的图像。

    我们将使用两种不同的 AI 工具向您展示两种方法,您可以选择最适合您的一种。

    1. 使用 DALL.E 为 WordPress 生成 AI 图像 2

    DALL.E 2是Open AI出品的一款人工智能工具,以其艺术渲染、超现实主义、创造力和多功能性而广受欢迎。

    没有可用于将 DALL.E 2 直接与您的 WordPress 网站集成的插件。

    但是,您可以在 DALL.E 2 网站上创建图像并将它们下载到您的计算机上。之后,您可以将这些图像上传到您的 WordPress 网站。

    首先,您需要访问DALL.E 2 网站并注册一个免费帐户,第一个月可获得 50 个积分。

    注册后,您会看到带有提示字段的 DALL.E 仪表板和 DALL.E 最近生成的一些艺术作品。

    在提示字段中键入要生成的图像的文本描述。您可以随心所欲地描述性和创造性。

    单击 Surprise Me 按钮以查看您可以生成的一些提示示例。

    单击“生成”按钮后,AI 将根据您提供的提示生成图像并显示四个结果。

    如果需要,您可以将它们全部下载到您的计算机上。您还可以单击任何生成的图像进行编辑。

    DALL.E 中的图像编辑器允许您扩展框架或平移。您还可以擦除或润饰图像的某个区域。

    再次单击“生成”按钮,AI 会根据您的更改重新生成图像。

    将图像下载到计算机后,您可以切换回 WordPress 网站的管理区域。

    您现在可以通过访问媒体 » 添加新页面将图像上传到您的 WordPress 媒体库。

    您还可以将图像直接添加到您的 WordPress 帖子和页面。只需编辑要显示图像的帖子或页面。

    在帖子编辑屏幕上,添加图像块,然后从您的计算机上传图像。

    DALL.E 2 生成的图像使用的许可证是什么?

    您保留您向 DALL.E 2 提供的提示生成的图像的版权。

    您可以在任何地方使用这些图像,包括您的 WordPress 网站、YouTube 视频、电子书、杂志等。

    2. 使用 Imajinn 在 WordPress 中生成 AI 图片

    对于第一种方法,我们将使用 Imajinn AI 在 WordPress 中生成图像。

    Imajinn AI 类似于 DALL.E 2、Midjourney 和 Stable Diffusion 等工具。它根据您提供的提示使用人工智能生成图像。

    首先,您需要安装并激活Imajinn插件。有关更多详细信息,请参阅我们关于如何安装 WordPress 插件的分步指南。

    注意:基本插件是免费的,并为您提供 10 个学分。之后,您可以从插件网站购买更多积分。

    激活后,您需要访问Media » Imajinn AI来配置插件设置和生成图像。

    首先,您需要通过提供电子邮件地址和密码进行注册以创建您的帐户。

    之后,您将能够开始使用 Imajin AI 生成图像。

    只需提供描述您要生成的图像的详细提示。

    您还可以从样式列表、艺术家风格、样式修饰符过滤器和纵横比中进行选择,以进一步自定义您的提示。

    在其下方,您可以选择单击“召唤”按钮以启动“提示精灵”工具。

    根据您提供的提示描述,该工具将建议进一步的提示想法以生成最佳图像。

    您可以单击生成按钮以使用建议的提示,或通过复制建议中的想法继续编写您自己的提示。

    满意后,单击“生成”按钮继续。

    该插件现在将开始使用在云端运行的 AI 工具生成图像。完成后,它将显示四种图像供您选择。

    在每张图片下方,您会找到分享图片、修复面孔(AI 不擅长生成人脸)或修饰图片的选项。

    您也可以只单击“保存”按钮将图像存储在您的 WordPress 媒体库中。

    要在 WordPress 帖子和页面中使用图片,只需编辑要添加图片的帖子或页面。

    在后期编辑屏幕上,在要显示图像的位置添加图像块,然后单击媒体库。

    接下来,您需要从媒体库中选择您之前保存的图像,并为该图像提供替代文本。

    之后,继续并单击“选择”按钮以插入图像。

    该插件还带有一个 Imajinn 块,您可以将其添加到您的帖子或页面并在块编辑器中生成图像。

    Imajinn AI 生成的图像使用的许可证是什么?

    Imajinn AI 生成的所有图像均在免费域或 CC0 许可下提供。

    您可以根据需要在您的网站上自由使用它们。

  • WordPress更换域名MySQL数据库批量替换SQL语句

    WordPress更换域名MySQL数据库批量替换SQL语句

    WordPress网站更换域名通过SQL语句操作MySQL数据库可以批量替换域名,新手站长网分享MySQL批量替换域名的SQL

    MySQL数据库批量替换域名SQL语句

    修改WordPress配置表wp_optionsSQL语句:

    UPDATE wp_options SET option_value = replace( option_value, '原域名地址', '新域名地址') WHERE option_name = 'home' OR option_name ='siteurl';

    修改文章数据表wp_posts中绝对地址的语句:

    UPDATE wp_posts SET post_content = replace( post_content, '原域名地址','新域名地址') ;
    UPDATE wp_posts SET guid = replace( guid, '原域名地址','新域名地址')

    修改评论表wp_comments中的语句:

    UPDATE wp_comments SET comment_content = replace(comment_content, '原域名地址', '新域名地址') ;
    UPDATE wp_comments SET comment_author_url = replace(comment_author_url, '原域名地址', '新域名地址');

    SQL语句执行方法

    登录到MySQL管理平台phpMyAdmin,选择数据库,选择右侧的“SQL”,输入SQL语句,点“执行”即可,如下图:
    WordPress更换域名MySQL数据库批量替换SQL语句

    1. WordPress数据库前缀,默认是wp,请修改成自己的MySQL数据库前缀;
    2. 原域名和新域名记得修改成想要操作的域名。