Creating a Custom Directive for WordPress Post Listing on the Front End

创建自定义指令以在前端显示WordPress文章列表可以通过以下步骤完成:

Creating a Custom Directive for WordPress Post Listing on the Front End
(图片来源网络,侵删)

1. 创建一个新的指令

在WordPress中,你可以使用register_directive函数来创建一个新的自定义指令,这个函数需要两个参数:指令的名称和处理该指令的回调函数。

function register_my_directive() {
    wp_register_script('myscript', 'path/to/your/script.js', array('wpelements'), null, true);
    wp_localize_script('myscript', 'MyScriptObject', array(
        'ajaxurl' => admin_url('adminajax.php'),
        'directiveNonce' => wp_create_nonce('mydirectivenonce')
    ));
}
add_action('init', 'register_my_directive');

2. 在JavaScript中处理新的指令

在你的JavaScript文件中,你需要定义一个处理新的指令的函数,这个函数将在用户在前端页面上输入你的自定义指令时被调用。

window.onload = function() {
    var scriptElem = document.createElement('script');
    scriptElem.setAttribute('src', 'path/to/your/script.js');
    document.body.appendChild(scriptElem);
};

3. 获取并显示文章列表

在你的JavaScript文件中,你需要创建一个函数来获取并显示文章列表,你可以使用wp.ajax.send函数来发送一个请求到你的WordPress后端,然后使用返回的数据来更新你的前端页面。

wp.ajax.send({
    action: 'my_action',
    data: {
        nonce: MyScriptObject.directiveNonce
    },
    success: function(response) {
        // Use the response data to update your frontend page
    }
});

4. 在WordPress后端处理请求

在你的WordPress后端,你需要创建一个新的函数来处理来自你的JavaScript文件的请求,这个函数应该查询你的文章数据,然后将这些数据作为响应发送回你的前端页面。

function my_action_callback() {
    check_ajax_referer('mydirectivenonce', 'security');
    $args = array(
        'post_type' => 'post',
        'posts_per_page' => 1,
    );
    $query = new WP_Query($args);
    if ($query>have_posts()) {
        while ($query>have_posts()) {
            $query>the_post();
            ?>
            <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            <p><?php the_excerpt(); ?></p>
            <?php
        }
    } else {
        echo 'No posts found';
    }
    wp_die();
}
add_action('wp_ajax_my_action', 'my_action_callback');
add_action('wp_ajax_nopriv_my_action', 'my_action_callback');

以上就是如何在WordPress中创建自定义指令以在前端显示文章列表的步骤。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/483912.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-04-17 05:27
下一篇 2024-04-17 05:29

相关推荐

  • 如何管理和保护来自不同网站的Cookie?

    不同网站的cookie是独立的,每个网站都使用自己的cookie来存储用户信息,如登录状态、偏好设置等。这些cookie不会相互干扰或共享数据。

    2024-11-29
    01
  • 如何进行不同数据库之间的SQL转换?

    不同数据库的SQL转换涉及将一种数据库系统的查询语言转换为另一种数据库系统的语言,以实现跨数据库的数据操作和查询。

    2024-11-29
    012
  • 如何用不到200行JavaScript代码实现一个富文本编辑器?

    实现一个富文本编辑器需要处理多种功能,如文本格式化、插入图片、链接等。以下是一个简单的示例代码,展示如何用不到200行JavaScript代码实现一个基本的富文本编辑器:,,“html,,,,,Simple Rich Text Editor,, #editor { border: 1px solid #ccc; padding: 10px; width: 500px; height: 300px; }, .toolbar button { margin-right: 5px; },,,,,Bold,Italic,Underline,Bullet List,Numbered List,Link,Image,,,,, function execCmd(command, value = null) {, document.execCommand(command, false, value);, },,,,`,,这个简单的富文本编辑器包含以下功能:,加粗 (bold),斜体 (italic),下划线 (underline),无序列表 (insertUnorderedList),有序列表 (insertOrderedList),插入链接 (createLink),插入图片 (insertImage`),,通过点击工具栏上的按钮,可以执行相应的命令来编辑内容。

    2024-11-29
    013
  • 如何确保不同网络环境下的设备能够正确识别和通信?

    不同的网络可以有不同的地址,每个网络的地址都是唯一的。

    2024-11-29
    05

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入