WordPress教程
模板兔提供专业的wordpress建站教程、wordpress主题开发教程、wordpress插件开发教程、wordpress二次开发教程等。
WordPress教程:大家都知道,我们在后台发布文章后再次编辑时,所选的分类会显示在分类目录列表的顶部,这样不方便我们查看其树状结构(也就是分类层级关系),那么如何能不让所选分类显示在顶部呢,还是像默认那样呈现树状层级关系。
可以使用以下代码:
class Category_Checklist {
static function init() {
add_filter( 'wp_terms_checklist_args', array( __CLASS__, 'checklist_args' ) );
}
static function checklist_args( $args ) {
add_action( 'admin_footer', array( __CLASS__, 'script' ) );
$args['checked_ontop'] = false;
return $args;
}
// Scrolls to first checked category
static function s...
WordPress教程:在后台发布文章时,如果我们想它默认就选中了某个分类,方法有很多,比如通过js来执行,或者通过GET方式传值来默认选中,下面模板兔提供下如何通过GET传值方式来默认选分类。例如:wp-admin/post-new.php?cat=news
add_action( 'new_to_auto-draft', function( $post ) {
// Bail out, if not in admin editor.
if ( ! strpos( $_SERVER['REQUEST_URI'], 'wp-admin/post-new.php' ) ) {
return;
}
// Bail out, it no category set in $_GET.
if ( empty( $_GET['cat'] ) ) {
return;
}
$cat = wp_unslash( $_GET['cat'] );
// Bail out, if category does not exist.
...
WordPress教程:有时候为了方便我们管理分类,我们需要在wordpress后台的分类目录列表页按分类添加时间倒序显示,同样发布文章选分类时也想倒序显示,那么我们只需要在主题的functions.php里添加以下代码即可。
add_action('get_terms_args','mobantu_admin_order_cats',10,2);
function mobantu_admin_order_cats($args,$taxonomies){
if(is_admin()){
$taxonomy = $taxonomies[0];
$screen = get_current_screen();
if(($screen->id=='edit-category'||$screen->id=='post') && $taxonomy=='category'){
$args['orderby']='id';
$args['order']='desc';
}
}
return $args;
}
WordPress教程:这些格式都是sketchup软件需要用的一些模型材质的格式,我们可以通过增加以下代码来支持,在主题的functions.php里增加:
function custom_mime_types($mimes) {
// 添加新的 MIME 类型
$mimes['skp'] = 'application/octet-stream'; // 你可能需要根据实际情况调整 MIME 类型
$mimes['ies'] = 'application/octet-stream'; // 同上
$mimes['hdr'] = 'image/vnd.radiance'; // HDR 图像的 MIME 类型,这个可能需要根据实际情况调整
$mimes['sum'] = 'application/octet-stream'; // 同上
return $mimes;
}
add_filter('upload_mimes', 'custom_mime_types');
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) {
...