标签: wordpress-plugin-creation

如何在wp_head中排列备用,图标和清单链接?

我正试图从我的插件中渲染元数据,图标和应用程序商店代码,但它被WordPress插件审核小组拒绝了:

请使用wp_enqueue命令

这是我想要添加的内容:

add_action('wp_head', array(&$this, 'add_meta'));

public function add_meta() {
    global $post;

    $url = $_SERVER['HTTP_HOST'] . rtrim($_SERVER['REQUEST_URI'], '/');

    // Smart App Banner for Safari and iOS
    echo '<meta name="apple-itunes-app" content="app-id=' . $this->getOption('iOSID') . ', app-argument=' . 'http://' . $url . '">';

    // Google App Indexing
    echo '<link rel="alternate" href="android-app://' . $this->getOption('AndroidID') . '/' . 'http/' . $url . '" />';
    echo '<link rel="alternate" href="ios-app://' . $this->getOption('iOSID') . '/' . 'http/' . $url . '" />';

    // App Icons
    echo '<link …
Run Code Online (Sandbox Code Playgroud)

wordpress wordpress-plugin-creation

9
推荐指数
1
解决办法
411
查看次数

如何处理/管理自定义图像?

我正在为客户开发一个特殊的插件.

简而言之:
该插件包含一个.zip文件的自动导入.这个文件里面是一个.xml文件和图像.该插件读取.xml文件并将信息插入数据库.

我的问题:
我如何以最好的方式处理图像.我应该将它们导入wordpress画廊,还是应该自己管理它们.有没有办法使用wordpress库,因为它会自动生成缩略图,还是不是一个好主意?

我需要一些建议.谢谢!

wordpress wordpress-plugin-creation

8
推荐指数
1
解决办法
169
查看次数

如何为Wordpress创建子插件

实际上,我已经在WordPress商店定位器中更改了一些代码。我希望它在插件更新时保留。所以我想为此创建一个子插件。关于如何管理它的任何想法?

wordpress wordpress-plugin-creation

6
推荐指数
2
解决办法
5274
查看次数

在哪里注册到 WordPress 插件端点的 REST 路由

注册功能必须去哪里?( register_rest_route())

  • 它必须在 theme/child function.php 中吗?
  • 或者可以在插件基础 php 文件中吗?(例如\wp-content\plugins\example\example.php)

有任何文件可以澄清这一点吗?

官方文档中没有提到: https://developer.wordpress.org/rest-api/extending-the-rest-api/routes-and-endpoints/

同样,端点函数必须存储在哪里?注册函数只是命名它,而不指定它的路径。

例如,你可以这样做:

  • 注册函数调用 ( register_rest_route) 位于主插件文件中(例如 \wp-content\plugins\example\example.php)
  • 端点函数位于其他一些插件文件中(例如 \wp-content\plugins\example\sub-path-stuff\example-controller.php)

如果是这样,怎么办?

以下链接似乎尝试执行此操作,但未指定这些属性(例如 \wp-content\plugins\example\example.php)

php wordpress routes wordpress-rest-api wordpress-plugin-creation

6
推荐指数
1
解决办法
2万
查看次数

index.php // 每个文件夹中的沉默都是金?

我应该在我的插件中的每个文件夹中包含一个带有 //silence is gold 的 index.php 吗?甚至 css、js 和图像文件夹?或者它只是包含 code/php 文件的文件夹,其中应该有index.php 文件?

wordpress wordpress-plugin-creation

6
推荐指数
1
解决办法
4717
查看次数

如何让我的 Wordpress 插件接收数据并将其在 ajax/php 请求中中继到需要身份验证的远程服务器?

我编写了一个 Wordpress 插件,它在后期编辑页面的元框中放置了几个按钮。我会去example.com/wp-admin/post.php?post=number1&action=edit。我希望我的 Wordpress 挂钩接收 AJAX 调用,然后向远程服务器发出请求(需要 WP 用户不必输入的身份验证),然后将结果返回给 Wordpress 用户。

我要发送的带有数据的表单代码是两个自定义 HTML 元素的输入数据。他们是:

class MyFormData extends HTMLElement{
    
    constructor() {
      super();      
    }

    connectedCallback(){
      const li = document.createElement('li');

      const newDat = document.createElement('input');
      newDat.setAttribute('type','text');
      newDat.setAttribute('name',`title box`);
      newDat.setAttribute('placeholder',`Test Data`);

      const deleteButton = document.createElement('button');
      deleteButton.setAttribute('type','button');
      deleteButton.innerHTML = "-";
      deleteButton.addEventListener("click",function(){
        li.parentNode.remove();
      });

      li.appendChild(newDat);
      li.appendChild(deleteButton);

      this.appendChild(li);
    }
  }
customElements.define('form-data',MyFormData);
Run Code Online (Sandbox Code Playgroud)

class DurationMenu extends HTMLElement{
    
    constructor(){
        super();
    }

    connectedCallback(){
        const amount = document.createElement('input');
        amount.setAttribute('id','selectedTime');
        amount.setAttribute('type','number');
        amount.setAttribute('step',5)
        amount.setAttribute('name','duration');
        amount.setAttribute('min',5);
        amount.setAttribute('max',60);
        amount.setAttribute('value',15);
        this.appendChild(amount)
    }


}
customElements.define('duration-choice', DurationMenu);
Run Code Online (Sandbox Code Playgroud)

这两个自定义元素都显示在元框中。我有一个用于提交按钮的自定义元素:

import …
Run Code Online (Sandbox Code Playgroud)

php ajax wordpress wordpress-plugin-creation

5
推荐指数
1
解决办法
274
查看次数

将表单数据发送到 WordPress 数据库表

我正在尝试构建一个插件,允许管理员添加有关特定包的数据(就像创建用户一样)。在前端,我将有一个表单,允许访问者使用管理员分配给该包的 id 搜索特定包。

我使用 php 构建了系统并且它工作正常。现在我想把它变成一个 WordPress 插件,我发现很难将表单数据发送到插件激活时创建的 wpdb 表(wp_demo)。

这是表格:

function registration_init(){
    echo '<form action="demo.php" method="post" />';
    echo "<h1>Britchi Tracking</h1>";
    echo '<p>';
    echo 'Costumers Name (required) <br/>';
    echo '<input type="text" name="cname" placeholder="Emmanuel John"/>';
    echo '</p>';
    echo '<p>';
    echo 'Tracking number (required) <br/>';
    echo '<input type="text" name="ctracking" placeholder="EEX28PDS"/>';
    echo '</p>';
    echo '<p>';
    echo 'Email (required) <br/>';
    echo '<input type="email" name="cemail" placeholder="Email"/>';
    echo '</p>';
    echo '<p>';
    echo 'Recived Port (required) <br/>';
    echo '<input type="text" name="crport" placeholder="Brazil Port"/>';
    echo '</p>';
    echo '<p>'; …
Run Code Online (Sandbox Code Playgroud)

php wordpress wordpress-plugin-creation

3
推荐指数
1
解决办法
2592
查看次数

制作wordpress主题时如何避免vscode出错?

在Visual Studio Code上制作Wordpress主题时,如何避免因项目内部没有wordpress的特定功能而出现错误?

有插件可以下载吗?

vscode wordpress 错误

wordpress-theming visual-studio-code wordpress-plugin-creation

3
推荐指数
1
解决办法
1282
查看次数

WordPress - 以编程方式在页面中插入 Elementor 小部件

我在我的 WordPress 网站上安装了 Elementor Pro,我正在编写一个自定义插件,该插件将执行一些操作并以编程方式创建一个新页面。我能够创建页面,但问题是,我想以编程方式在这个新页面中插入一个 Elementor 小部件。

我已经联系了 Elementor 支持,看看他们是否对我有任何意见。但他们的回答是:

尽管我很想为您提供帮助,但自定义代码/片段或任何指导超出了我们的支持范围,因为我们仅提供对 Elementor 现有功能的支持。

那么无论如何我可以通过代码实现这一点,我的意思是将特定的 Elementor Widget 插入页面?

wordpress elementor wordpress-plugin-creation

2
推荐指数
1
解决办法
1687
查看次数

Wordpress REST Api:add_action('rest_api_init',callback)不调用回调

问题:

我正在尝试为 Wordpress 插件注册自定义端点。我面临的问题是,当我调用 add_action('rest_api_init',callback) 时,回调函数没有被调用。在该回调函数中存在“register_rest_route()”方法,该方法又没有被调用,我无法注册任何自定义端点。

  • 我使用docker进行开发
  • 没有抛出任何错误

代码:

public function register()
    {
        $this->setup_init();

    }
    
    public function setup_init()
    {
        var_dump('print1');

        add_action('rest_api_init', array($this, 'register_custom_endpoints'));
    }
    
    public function register_custom_endpoints()
    {

        var_dump('print2');
        die();

        register_rest_route('test', '/test', array(
            'methods'  => 'GET',
            'callback' => 'menu_setup',
        ));
    }
Run Code Online (Sandbox Code Playgroud)

问题:

代码到达“var_dump('print1')”,但从未到达“var_dump('print2')”。我在这里错过了什么吗?

wordpress wordpress-plugin-creation

2
推荐指数
1
解决办法
2457
查看次数

如何解决 WordPress 中键“PRIMARY”的重复条目“0”?

我的网站运行完美,但今天客户下了 1 个订单,我的网站上出现此错误。

这是错误的屏幕截图

在此输入图像描述

错误就在这里.. Fatal error: Uncaught RuntimeException: Error saving action: Error saving action: Duplicate entry '0' for key 'PRIMARY' in /home/website/public_html/wp-content/plugins/woocommerce/packages/action-scheduler/classes/migration/ActionScheduler_DBStoreMigrator.php:44

php wordpress woocommerce woocommerce-theming wordpress-plugin-creation

1
推荐指数
1
解决办法
1万
查看次数