【问题标题】:Wordpress addon to add data to a database and then call the dataWordpress 插件将数据添加到数据库,然后调用数据
【发布时间】:2020-11-29 18:40:01
【问题描述】:

我知道这个问题可能会被否决,我可能会遇到麻烦,但我希望有人能够帮助我解决我的情况。

在我的网站上,我使用 json 从外部源下载数据,然后我将其设置为精美的样式。

在 json 数据中是每个数据集的单独 ID。

我想要完成的是有一个数据库,我可以在其中插入 ID 和 url 链接。

我已经通过 phpMyAdmin 在 wordpress 数据库中创建了表,但我想在管理部分中创建一个页面,我可以在其中简单地添加数据。

为了显示 json 数据,我使用 php insert 插件,在该 php 剪辑中,我想做一段代码,检查数据库中我的自定义数据库中的 id 并显示链接。

老实说,我不知道从哪里开始,即使它只是一个指向显示如何创建管理页面并将数据提交到 wordpress 仪表板中的数据库的源的链接。

我非常感谢提供的任何帮助,就像我说我知道我应该更加努力,但是当我进行搜索时,我得到的只是 100 条参考资料,以便手动将管理员添加到数据库中。

谢谢,

亚当

编辑我刚刚意识到我从来没有在我的问题中输入任何表格信息。

wordpress中的表名叫做:wp_home_tickets 其中有3个字段:id(自动增加),gameid(数字)和ticketlink(文本)

谢谢。

【问题讨论】:

    标签: database wordpress


    【解决方案1】:

    要在管理员中添加自定义设置页面,请使用设置 API https://codex.wordpress.org/Settings_API

    这是一个很好的使用教程https://deliciousbrains.com/create-wordpress-plugin-settings-page/#wp-settings-api

    要从您的自定义表中获取数据,请使用 wpdb 类 https://developer.wordpress.org/reference/classes/wpdb/。更具体地说,如果您将有多行共享相同的 id https://developer.wordpress.org/reference/classes/wpdb/get_results/

    ,则可以使用 wpdb::get_results

    或者 wpdb::get_row 如果你永远只有一个https://developer.wordpress.org/reference/classes/wpdb/get_row/

    希望对你有所帮助!

    【讨论】:

    • 非常感谢您的链接,他们帮助了很多,非常感谢!
    【解决方案2】:

    对于任何希望了解它是如何完成的人,我是这样做的。

    我在我的主题中创建了一个名为 db_admin_menu.php 的文件,并在其中添加了以下内容:

    <?php
    function ticket_admin_menu() {
     global $team_page;
     add_menu_page( __( 'Tickets', 'sports-bench' ), __( 'Tickets', 'sports-bench' ), 'edit_posts', 'add_data', 'ticket_page_handler', 'dashicons-groups', 6 ) ;
    }
    add_action( 'admin_menu', 'ticket_admin_menu' );
    
    function ticket_page_handler() {
       $table_name = 'wp_home_tickets';
       global $wpdb;
       echo '<form method="POST" action="?page=add_data">
           <label>Team ID: </label><input type="text" name="gameid" /><br />
           <label>Ticket Link: </label><input type="text" name="ticketlink" /><br />
           <input type="submit" value="submit" />
           </form>';
    
       $default = array(
         'gameid' => '',
         'ticketlink' => '',
       );
      $item = shortcode_atts( $default, $_REQUEST );
      $gameid = $item['gameid'];
      if ($wpdb->get_var("SELECT * FROM wp_home_tickets WHERE gameid = $gameid ")) { echo 'Ticket already exists for this game.'; goto skip; }
      if (!empty($_POST)) { $wpdb->insert( $table_name, $item ); }
      skip:
    }
    ?>
    

    然后我将这段代码放入我的脚本中,以获取并显示 json:

    $matchid = $match['id'];
    $ticket_url = $wpdb->get_var("SELECT ticketlink FROM wp_home_tickets WHERE gameid = '$matchid' ");
    if ($ticket_url) { echo '<a href="'.$ticket_url.'" class="gamedetail">Get Tickets</a>'; }
    

    我希望有人确实发现它有用,我确实必须使用 xyzscripts 的名为“插入 PHP 代码片段”的 wordpress 插件才能将 php sn-p 为简码,但这不是目的发帖。

    再次感谢您的帮助。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2014-02-15
    • 1970-01-01
    • 2019-10-19
    相关资源
    最近更新 更多