WordPress教程

模板兔提供专业的wordpress建站教程、wordpress主题开发教程、wordpress插件开发教程、wordpress二次开发教程等。

WordPress教程:wp侧栏小工具加一个推广AI的模块,类似对话打字效果,下面是代码: <div class="widget widget-chatgpt"> <div class="chatgpt-msg"> <div class="item"><span>小明</span><div class="msg"><span id="typed-me-span">帮我写个关于***的开题报告</span></div></div> <div class="item"><span>AI助手</span><div id="typed-text" class="msg"><span id="typed-text-span">好的,正在构思中,请稍等...</span></div></div> </div> <a href="<?php echo _MBT('child_openai_link');?>" target="_blank" clas...

WordPress教程:获取 WooCommerce 数据可以使用 wc_get_product() 函数。该函数是 WooCommerce 提供的一个内置函数,用于获取产品的详细信息。 使用 wc_get_product() 函数,你可以通过传递产品的 ID 或 SKU 来获取产品对象。该函数返回一个 WC_Product 对象,你可以使用该对象来访问产品的各种属性和方法。 以下是获取 WooCommerce 数据的示例代码: $product_id = 123; // 产品的 ID $product = wc_get_product( $product_id ); // 获取产品对象 // 获取产品的名称 $product_name = $product->get_name(); // 获取产品的价格 $product_price = $product->get_price(); // 获取产品的描述 $product_description = $product->get_descripti...

WordPress教程:创建一个新片段: 进入 WordPress 后台,点击 Code Snippets > Add New。 将下面的 PHP 代码粘贴到片段内容中。 add_action('wp_ajax_add_quick_buy_to_cart', 'add_quick_buy_to_cart'); add_action('wp_ajax_nopriv_add_quick_buy_to_cart', 'add_quick_buy_to_cart'); function add_quick_buy_to_cart() { $product_id = intval($_POST['product_id']); $product_num = $_POST['product_num'] ? intval($_POST['product_num']) : 1; if ($product_id) { // 将商品添加到购物车 WC()->cart->add_to_cart($product_id, $product_num); } // 返回购物车页面的 URL,或者结账页面的 URL wp_send_json_success(ar...

WordPress教程:我们在做网站时很多时候有提供用户投稿的功能,那么用户投稿后需要审核,在后台如何提醒管理员有需要审核的文章呢?可以使用以下代码来实现: function wp_my_admin_enqueue_scripts2( $hook ) { global $wpdb; $task_post = $wpdb->get_var("SELECT count(ID) FROM $wpdb->posts WHERE post_type = 'task' and (post_status='pending' or post_status='draft')"); if($task_post){ wp_enqueue_script( 'my_admin_script', get_stylesheet_directory_uri().'/static/js/admin.js', false, null, true ); ?> <script> var task_post_count = '<?php echo $task_post;?>'; </script> <?php } } ...

WordPress教程:有的用户在使用erphpdown插件后,想批量清理一些没有充值记录的僵尸用户,那么如何筛选出这些用户呢? function add_custom_user_view_link($views) { global $wpdb, $current_user; if (current_user_can('edit_users')) { $custom_link_url = admin_url('users.php?cz=no'); $custom_link_text = '无充值用户'; $views['custom_user_list'] = '<a href="' . esc_url($custom_link_url) . '" class="'.((isset($_REQUEST['cz']) && $_REQUEST['cz'] == 'no')?'current':'').'">' . esc_html($custom_link_text) . '</a>'; } return $views; } add_filter('views_users', 'add_custom_user_view_link...

WordPress教程:wordpress网站更换域名后,除了自己需要在后台改一些设置项的域名外,我们可以通过phpmyadmin执行sql语句来批量替换域名。 替换文章里的图片地址域名 UPDATE wp_posts SET post_content = replace(post_content,'老域名', '新域名'); 替换文章属性里的相关媒体地址域名 UPDATE wp_postmeta SET meta_value = replace(meta_value,'老域名', '新域名'); 替换用户属性里的头像地址域名 UPDATE wp_usermeta SET meta_value = replace(meta_value,'老域名', '新域名'); 替换分类法里的图片地址域名 UPDATE wp_termmeta SET meta_value = replace(meta_value,'老域名', '新域名'); 注意:以上数据表的前缀是wp_,具体请根据你自己的表前缀。

WordPress教程:基于erphpdown售卖资源,统计每个分类出售文章销量统计(基本是基于子分类的)。 $sql = "SELECT                      t.term_id AS category_id,                     t.name AS category_name,                       COUNT(a.ice_id) AS total_sales,                     SUM(a.ice_price) AS total_prices                   FROM                        $wpdb->term_taxonomy tt                  JOIN                        $wpdb->terms t ON tt.term_id = t.term_id                 JOIN                        $wpdb->term_relationships tr ON tt.term_taxonomy_id = tr.term_taxon...

WordPress教程:在WordPress的WooCommerce订单列表中添加自定义列,可以通过编辑WordPress的functions.php文件或使用自定义的插件来实现。以下是详细的步骤和示例代码,帮助你在WooCommerce订单列表中添加自定义列。 1. 编辑functions.php文件 首先,你需要通过编辑WordPress主题的functions.php文件来添加自定义列。以下是一个示例,展示如何在订单列表中添加两个自定义列:“产品名称”和“产品数量”。 步骤一:添加自定义列标题 在你的主题的functions.php文件中,添加以下代码来定义新的列标题: function custom_wc_order_columns( $columns ) { $new_columns = $columns; $new_columns['product_name'] = __( 'Product Name', 'textdomain' )...

WordPress教程:wordpress里的modown主题开发抖音小程序,但是提交审核时官方说明要加上抖音授权登录,下面模板兔给出相关逻辑代码供参考: 小程序端js: tt.login({       force: true,       success(res) {         //console.log(`login 调用成功${res.code} ${res.anonymousCode}`);         if (res.code) {           wx.request({             url: app.globalData.appUrl,             data: {               action: "login",               code: res.code,               aff: aff             },             method: 'POST',             header: {               'content-type': 'applicati...

WordPress教程:最近模板兔在给客户开发抖音小程序,大概功能就是付费下载与查看,使用的是wordpress的Modown主题+erphpdown插件来对接头条小程序,下面给出一些核心代码供参考: 小程序端js代码: tt.request({       url: app.globalData.appUrl,       data: {         erphp_app: app.globalData.appToken,         action: 'user',       page: "***",         userid: tt.getStorageSync('UserId'),         ice_money: that.data.inputRechargeMoney       },       method: 'POST',       header: {         'content-type': 'application/x-www-form-urlencoded'       },       success: function ...

WordPress教程:最近模板兔在给客户开发wordpress百度小程序,是基于modown主题与erphpdown插件涉及到百度支付,下面给出对接支付的具体代码供大家参考: 小程序端代码: swan.request({       url: app.globalData.appUrl,       data: {         ***: app.globalData.appToken,         action: 'user',         page: "recharge.bd.do",         userid: swan.getStorageSync('UserId'),         ice_money: that.data.inputRechargeMoney       },       method: 'POST',       header: {         'content-type': 'application/x-www-form-urlencoded'       },       success: function (res) {      ...

WordPress教程:我们有时候需要在后台看到文章id、用户id、分类id,那么可以通过一些_row_actions钩子来实现,下面是模板兔提供的一些常见的id显示代码: function custom_post_actions($actions, $post) { $actions['id'] = 'ID:'.$post->ID; return $actions; } add_filter('post_row_actions', 'custom_post_actions', 10, 2); add_filter('page_row_actions', 'custom_post_actions', 10, 2); add_filter('user_row_actions', 'custom_post_actions', 10, 2); function custom_category_actions($actions, $category) { $actions['id'] = 'ID:'.$category->term_id; return $actions; } add_filter('category_row_actions', 'custo...

WordPress教程:在WooCommerce中,woocommerce_payment_complete 钩子是在订单支付过程成功完成后触发的,这通常发生在用户通过支付网关(如PayPal、Stripe等)完成支付操作后。然而,当你在后台手动更改订单状态为“已完成”(例如,通过订单管理界面点击“完成订单”按钮)时,并不会触发 woocommerce_payment_complete 钩子,因为这个动作并不涉及支付过程的完成。 如果你需要在订单状态更改为“已完成”时执行某些操作,你应该使用与订单状态更改相关的钩子,如 woocommerce_order_status_changed。这个钩子会在订单的任何状态更改时触发,包括从任何状态更改为“已完成”。 以下是如何使用 woocommerce_order_status_changed 钩子来检测订单是否已更改为“...

WordPress教程:步骤 1: 创建或修改订单元数据 首先,确保你的订单中包含了你想在列表中显示的自定义数据。这通常涉及到在订单创建或更新时,通过wc_add_order_item_meta函数或其他相关函数来添加元数据。 例如,如果你想在订单中存储一个名为custom_field的自定义字段,你可以在订单创建时添加如下代码: $order = wc_create_order(); // 假设你已经有了订单对象 $order->add_order_note( '这是订单备注', 0, true ); // 示例:添加订单备注 $order->update_meta_data( 'custom_field', '自定义值' ); $order->save(); 步骤 2: 修改My Account订单列表模板 接下来,你需要修改WooCo...

WordPress教程:在WordPress或任何PHP应用中,当你发现使用date("Y-m-d H:i:s")时时间比预期晚了8小时,这通常是因为服务器的时区设置与你的预期不同。PHP中的date()函数会根据date.timezone配置项来返回时间,这个配置项在php.ini文件中设置,或者在你的代码中通过date_default_timezone_set()函数动态设置。 解决步骤 检查服务器时区设置: 你可以通过PHP的date_default_timezone_get()函数来获取当前的时区设置。在你的WordPress插件或主题的某个位置(比如一个函数或模板文件中),添加以下代码来检查当前的时区设置: echo 'Current timezone is: ' . date_default_timezone_get(); 这将输出当前的时区设置,比如UTC...