专业WORDPRESS主题设计制作

add_meta_box()函数(add_months函数)

发布于: 2022-08-19

add_meta_box()函数是被用来在文章编辑等页面添加一个设置的区域的函数。

创建的文章类型默认的仅有标题、作者、分类、标签、日期和评论,这些也许对博客已经足够使用了,但是对于产品类型的文章来说,不仅仅需要标题和正文,还需要单独设置一些其它的参数,如产品价格、产品型号、规格大小等,那么就需要给文章类型添加Meta Box,通俗点理解就是自定义字段表单,下面就来以实例讲解下这个函数的用法。

语法结构

<?php add_meta_box(
    $id, 
    $title, 
    $callback, 
    $post_type, 
    $context, 
    $priority, 
    $callback_args
); 
?>

参数

$id(字符串)(必需)字段id,唯一
$title(字符串)(必需)标题名称,显示在文章编辑页面
$callback(回调)(必需)回调函数
$post_type(字符串)(必需)文章类型
$context(字符串)(可选)显示位置,文章编辑页面包括’normal’, ‘side’, and ‘advanced’的形式,Menus meta boxes仅用’side’的形式
$priority(字符串)(可选)优先级,默认值: ‘default’
$callback_args(数组)(可选)传递到 callback 函数的参数。callback 函数将接收 $post 对象和其他由这个变量传递的任何参数。

实例

add_action( 'add_meta_boxes', 'product_price' );
function product_price() {
    add_meta_box(
        'product_price',
        '产品价格',
        'product_price_meta_box',
        'store',
        'side',
        'low'
    );
}

创建回调函数product_price_meta_box
配置参数里面指定了回调函数product_price_meta_box,需要在这个函数里面创建表单,

隐藏的自定义字段

插件/主题开发人员如果需要用自定义字段来保存插件或模板相关参数,会发现WordPress不会在页面/文章编辑页的自定义字段列表上显示以”_”(下划线)开始的关键字。这样就可以在自定义参数中将下划线作为第一个字符,这些设置将按自定义字段被保留,但却不会在管理者用户界面的自定义字段中显示出来。

function product_price_meta_box($post) {
    // 创建临时隐藏表单,为了安全
    wp_nonce_field( 'product_price_meta_box', 'product_price_meta_box_nonce' );
    // 获取之前存储的值
    $value = get_post_meta( $post->ID, '_product_price', true );
    ?>
    <label for="product_price"></label>
       <input style="width:180px" type="text" id="product_price" name="product_price" value="<?php echo esc_attr( $value ); ?>" placeholder="输入产品价格">
       <span>价格</span>
    <?php
}

提示:添加上面代码后,新建文章时,在右则就可以看到一个产品价格的输入框。

这时候表单还不能用,因为提交文章之后并没有保存这个 Meta Box 的内容,下面是验证保存内容的代码:

add_meta_box()函数
add_action( 'save_post', 'product_price_save_meta_box' );
function product_price_save_meta_box($post_id){
    if ( ! isset( $_POST['product_price_meta_box_nonce'] ) ) {
        return;
    }
    if ( ! wp_verify_nonce( $_POST['product_price_meta_box_nonce'], 'product_price_meta_box' ) ) {
        return;
    }
    if ( ! current_user_can( 'edit_post', $post_id ) ) {
        return;
    }
    if ( ! isset( $_POST['product_price'] ) ) {
        return;
    }
    $product_price = sanitize_text_field( $_POST['product_price'] );
    update_post_meta( $post_id, '_product_price', $product_price );
}

把上面的代码按顺序添加到主题的functions.php文件,至此,Meta Box注册完成,就可以开始添加参数了:

调用代码

<?php 
if(get_post_meta($post->ID,'_product_price',true)){
    echo get_post_meta($post->ID,'_product_price',true);
}
?>

把META BOX添加把后台所有产品列表字段中显示

通过manage_$post_type_posts_custom_column实现,代码如下

add_filter('manage_store_posts_columns', 'add_new_product_columns');
function add_new_product_columns($columns) {
    $columns['id'] = 'ID';
    $columns['product_price'] = '产品价格';
    return $columns;
}

add_action('manage_store_posts_custom_column', 'manage_posts_columns', 10, 2);
function manage_posts_columns($column,$id) {
    global $post;
    switch ($column) {
        case 'id':
            echo $id;
            break;
        case 'product_price':
            echo get_post_meta( $post->ID, '_product_price', true );
            break;
    }
}

国外CDN服务商外贸免备案推荐:Stackpath CDN设置教程(国外知名cdn服务商)

发布于: 2022-11-03

1 CDN是什么?有什么用?

  • 1.1 Stackpath全能CDN(前称MaxCDN)
  • 1.2 Stackpath全球CDN节点有哪些?
  • 2 为什么要用Stackpath CDN?
  • 3 StackPath CDN如何设置?
    • 3.1 Autoptimize 插件主要设置CDN
    • 3.2 Autoptimize 插件额外设置

如何10倍提升外贸网站速度?从而提高谷歌搜索排名?

CDN是什么?有什么用?

  • CDN(英文全称是Content distribution network),中文名称是“内容分发网络”。
  • CDN能将将你网站上的内容,缓存在不同地理位置的多个服务器上。
  • 通过最接近的服务器,将内容提供给你的站点访问者,从而加快网站访问速度。

在本文中,我们将分享可以帮助你加快外贸网站速度的WordPress最佳CDN服务。

Stackpath全能CDN(前称MaxCDN)

stackpath-index

多年来MaxCDN是个非常流行的CDN服务,特别是对于WordPress用户:

  • 2016年,Stackpath收购了MaxCDN,并将MaxCDN的服务包含在Stackpath品牌中。
  • 现在,2者是同1个。
  • 和Cloudflare一样,Stackpath提供CDN和安全服务。

但是,Stackpath为你提供了很多选择,你可以选择特定服务,或者使用包含CDN、防火墙、托管DNS、全球DDoS保护等的完全“边缘交付包”。

Stackpath的全球DDoS保护:

  • StackPath的完全DDoS保护功能,可以有效缓解任何因大量流量,而淹没你网站的DDoS攻击。
  • StackPath的全球网络可以缓解最大、最复杂的DDoS攻击,并最大限度地减少对服务的影响。
  • StackPath DDoS缓解技术可以解决所有DDoS攻击方法,包括:UDP,SYN和HTTP泛洪,并且不断进一步开发,以阻止新兴技术和策略。

Stackpath全球CDN节点有哪些?

目前,Stackpath 在除非洲之外的每个宜居大陆上,提供了35个以上的CDN节点。 你可以查看以下地图 ▼

stackpath-cdn-node点此进入 Stackpath官网 查看最新全球CDN节点

  • 因为Stackpath是个国外CDN服务商,所以设置起来非常简单。
  • 你只需输入你网站的URL,然后Stackpath将处理特定资源,提取到其服务器上。
  • 然后,你可以开始使用从Stackpath的边缘服务器提供的CDN服务。

为什么要用Stackpath CDN?

  1. 因为网站访问速度,是搜索引擎排名规则之一。
  2. 而且,我们在《引流推广》专题中,就有说到研究平台规则,是引流量的重点之一。
  3. 所以, 外贸网络推广人员做SEO,想要进一步提升在谷歌搜索结果排名,提升网站速度是至关重要的。

Stackpath的优点有哪些?

  • 容易设置。
  • 你无需更改名称服务器,这可以让你完全控制。
  • 轻松的按月计费。
  • 如果需要,还提供其它功能,如Web应用程序防火墙和托管DNS。

StackPath CDN如何设置?

第1步:注册StackPath CDN 账号▼

点此进入 StackPath CDN 官网

输入邮箱和密码,并单击“Create an Account”按钮,创建一个帐户 ▼

create-stackpath-account

第 2 步:需要选择一项StackPath服务。StackPath提供网站和应用程序服务以及边缘计算服务  选择一“网站和应用程序服务” ▼

create-stackpath-account_001

第 3 步:选择StackPath的 CDN ▼

create-stackpath-account_002

第 3 步:通过发送到你的电子邮件帐户的链接验证你的电子邮件地址后,它会将你重定向到付款页面 ▼

  • 无需输入 StackPath 促销代码。只需点击我们指向StackPath的链接,系统就会自动应用最优惠的价格。

create-stackpath-account_003

第 4 步:在StackPath仪表板中,单击Site选项卡 ▼

stackpath_cdn_settings_002

第 5 步:创建StackPath CDN站点 ▼

stackpath_cdn_settings_003

  • 输入将提供CDN资源的域名URL。

在大多数情况下,这是网站的URL。

  1. 网络服务器(默认)
  2. 亚马逊S3
    • 虚拟托管样式的URL
      • bucket.s3- aws-region.amazonaws.com
    • 路径托管样式
      • s3- aws-region.amazonaws.com /bucket-name
  3. GCS Bucket
    • bucket-name .storage.googleapis.com

stackpath_cdn_settings_004

  • 在“ 可用服务”下,勾选CDN框  (你可以随时添加更多内容)
  • 在StackPath中设置你的服务器IP地址。

第 6 步:将StackPath CDN URL粘贴到Autoptimize插件的CDN Base URL字段中 ▼ stackpath_cdn_settings_005

  • 你需要在URL的开头添加 http://https:// 才能使用Autoptimize 插件。

第 7 步:在StackPath中转到CDN→CACHE SETTINGS(缓存设置)▼

stackpath_cdn_settings_006

  • 然后单击“Purge Everythig(清除所有内容)” ▲

第 8 步:在StackPath中将你的服务器IP地址列入白名单(WAF→防火墙) ▼

stackpath_cdn_settings_007

在GTmetrix中测试运行你的站点 ,YSlow中的“内容交付网络”应为绿色 ▼

stackpath_cdn_settings_008

如果使用WordPress建站,可以安装WordPress插件Autoptimize。

Autoptimize 插件主要设置CDN

stackpath_cdn_settings_001

  • 优化HTML代码 – 启用(修复缩小GTmetrix中的项目)。
  • 优化JavaScript代码 – 启用(修复GTmetrix中的JavaScript项目)。启用此功能后测试你的网站并检查错误,因为优化JavaScript过程中,可能会造成网站出错。
  • 优化CSS代码 – 启用(修复GTmetrix中的CSS项目)。启用此功能后测试你的站点。
  • CDN基本URL – 这是你的CDN URL所在的位置。

Autoptimize 插件额外设置

stackpath_cdn_settings_009

Google字体:

  • 如果使用 Google字体 ,可以在从外部资源(Google字体库)中提取时减慢加载时间。
  • 如果你的网站用户有来自中国大陆,建议选择删除Google字体库。

优化图片:

  • 你网站上的网址将更改为指向 ShortPixel的CDN。
  • 只要它是无损压缩,这不应该影响它们的外观,但它们会加载得更快。

图像优化质量:

  • 启用无损压缩以避免丢失图像质量。

删除Emojis

  • 启用(表情符号加载时间不好)。

从静态资源中删除查询字符串

  • 查询字符串通常由插件生成,无法修复(在GTmetrix / Pingdom中)只是启用此功能,但你可以尝试。
  • 更好的解决方案是检查你的站点是否有高CPU插件,并用轻量级插件替换它们。
  • 大多数高CPU插件包括社交共享、图库、页面构建器、相关帖子、统计和实时聊天插件。
  • 你还应删除所有不必要的插件并清理数据库(使用WP-Optimize等插件)清除卸载的插件留下的表。

预连接到第3方域名

  • 帮助浏览器预链接来自外部资源(Google字体、分析、地图、跟踪代码管理器、亚马逊商店等)的请求。
  • 这些通常在Pingdom报告中显示为“最小化DNS查找”,但以下是常见示例。
https://fonts.googleapis.com
https://fonts.gstatic.com
https://www.google-analytics.com
https://ajax.googleapis.com
https://connect.facebook.net
https://www.googletagmanager.com
https://maps.google.com

异步Javascript文件

  • 这意味着某些东西阻止了加载快速加载的内容。
  • 但如果你在GTmetrix和Pingdom中看到JavaScript错误,那么 Async JavaScipt插件可能需要派上用场了。

优化YouTube视频

  • 如果你的网站有视频, WP YouTube Lyte 会加载它们,以便仅在用户向下滚动并点击播放按钮时加载,从而消除对YouTube服务器的初始请求。
  • 这可以减少视频内容的多次关闭加载时间,因为它们是页面上最重要的元素之一。
  • WP Rocket和Swift Performance内置了它们的设置,因此如果你使用其中一个作为缓存插件,则不需要这样做。

到此,我们已经完成了Autoptimize设置中对StackPath CDN的配置。

点此进入 StackPath CDN 官网

希望我们网站( https://www.wordpressx.com/ ) 分享的《国外CDN服务商外贸免备案推荐:Stackpath CDN设置教程》,对您有帮助。

init钩子(syslistview32钩子)

发布于: 2022-08-19

init 钩子在大多数的 WordPress 程序都加载之后进行加载。WordPress 同样添加许多内部的功能到这个钩子中,例如 post types 和 taxonomies 以及默认 widgets 的初始化。

加载这个钩子时几乎 WordPress 中的所有内容都就绪了,当 WordPress 的所有信息都可用时,你的插件使用这个钩子差不多可以做任何想做的事情了。

init钩子

下面的例子中,为用户添加了product post type形式

function my_custom_post_product() {
    $args = array();
    register_post_type( 'product', $args ); 
}
add_action( 'init', 'my_custom_post_product' );

bloginfo()函数(info函数的用法)

发布于: 2022-08-19

bloginfo() 直接在浏览器中输出内容,我们创建一个wordpress博客的时候,我们需要填写博客的相关信息,包括博客名称,博客描述,博客地址等等。当我们需要使用这些信息的时候,就可以使用bloginfo()函数来获取wordpress博客的相关信息。
语法结构

<?php bloginfo( $show ); ?>

参数:

$show (字符串string) (可选)你需要输出的信息的关键词。 默认值: name
‘name’:显示在 设置 -> 常规 中设置的“站点标题”。该数据是从 wp_options 这个数据表中检索到的 “blogname”记录。
‘description’:显示在 设置 -> 常规 中设置的“副标题”。该数据是从 wp_options 这个数据表中检索到的 “blogdescription” 记录。
‘admin_email’:显示在 设置 > 常规 中设置的 “电子邮件地址”。该数据是从 wp_options 这个数据表中检索到的 “admin_email”记录。
‘charset’:显示在 设置 > 常规 中设置的“页面和feed的编码”。该数据是从 wp_options 这个数据表中检索到的”blog_charset” 记录。(注:3.5.1+好像已经没有这个选项了)
‘html_type’:显示WordPress HTML 页面中的内容类型(默认: “text/html”)。该数据可以从 wp_options 这个数据表中检索到的 “html_type” 记录。主题和插件可以通过使用 pre_option_html_type 过滤器覆盖默认值。
‘language’:显示WordPress的语言。
‘wpurl’:显示在 设置 > 常规 中设置的 “WordPress 地址 (URL)”。该数据是从 wp_options 这个数据表中检索到的 “siteurl” 记录。 可以考虑使用 site_url() 来代替,尤其是在使用 子目录路径方式,而不是使用 子域名 来配置多站点时(bloginfo将返回根网站的URL,而不是子站点的URL)。
‘url’:显示在 设置 > 常规 中设置的 “站点地址(URL)”。该数据是从 wp_options 这个数据表中检索到的 “home”记录。 可以考虑使用 home_url() 代替。
‘stylesheet_url’:显示当前使用的主题的 CSS文件(通常为 style.css)路径。可以考虑使用 get_stylesheet_uri() 代替。
‘template_url’/’template_directory’:当前主题的 URL 路径 。在子主题中, get_bloginfo(‘template_url’) 和 get_template() 都将返回父主题的目录。可以考虑使用 get_template_directory_uri() (用于父主题目录)或get_stylesheet_directory_uri() (用于子主题目录)代替。
‘stylesheet_directory’:显示当前使用的主题的样式表路径。可以考虑使用 get_stylesheet_directory_uri() 代替。

bloginfo()函数

示例输出

name = 获得更好的笔记查询体验
description = 又一个WordPress站点
admin_email = admin@example.com
charset = UTF-8
html_type = text/html
language = en-US
wpurl = http://coding.xuxiaoke.com/(获得安装路径)
url = http://coding.xuxiaoke.com/(获得首页地址)
stylesheet_url = http://www.example.com/home/wp/wp-content/themes/bluesky/style.css
stylesheet_directory = http://www.example.com/home/wp/wp-content/themes/bluesky
template_directory = http://www.example.com/home/wp/wp-content/themes/bluesky
template_url = http://www.example.com/home/wp/wp-content/themes/bluesky
text_direction = ltr
version = 3.5
home = http://www.example.com/home (已弃用!使用 url 替代)
siteurl = http://www.example.com/home (已弃用!使用 url 替代)

add_settings_section()函数(addition settings)

发布于: 2022-08-19

add_settings_section()函数的作用主要是为WordPress后台-Settings里面的某个栏目添加一个能够实现add_settings_field( )函数添加自定义变量的区域,与add_settings_field( )函数配合使用可以实现Settings里面的某个栏目(’general’, ‘reading’, ‘writing’, ‘discussion’, ‘media)添加自定义变量的功能。
用法

<?php
add_settings_section(
    string $id,
    string $title,
    callable $callback,
    string $page 
) ;
?>

例子:

<?php
add_settings_section(
    'xk_settings_section', // 此处自己命名,用于标签的ID属性
    '联系方式', // 显示在页面的标题
    'xk_settings_section_callback', // 页面回掉
    'general' // 设置里面的栏目包括:'general', 'reading', 'writing', 'discussion', 'media'
);
?>

相关函数:add_settings_field( )函数
register_setting()函数
实战案例可在register_setting()函数查看

add_settings_section()函数
TAG列表 wordpress最新最热TG汇集,掌握wordpress热线内容
namechep续费优惠码WordPress tag模版wordpress Dropboxrobots.txt安全设置http://www.fandutaoci.cnWordPress站内搜索排除所有页面Awesome SupportWordPress大气的样式Jetpack站点加速器CDN图像缓存织梦采集侠wordpresswp-json安全设置WordPress调试模式wordpress Post ViewsWooCommerce 定价wp-json漏洞WordPress网站防护wp-json优化WooCommerce 功能WordPress网站安全防wp-json防止数据被采集Footer and Post Injections插件Rich Snippets结构化数据Avada主题WordPress超级菜单WordPress网站恶意代码主机壳WordpressWordPress广告词检测WordPress自动备份Mega Menu插件Featured Image From URLWordPress页脚加载JSwordpress文章浏览数量统计nameCheap最新优惠码WordPress自定义页眉Shortcodes Ultimatecritical automatic updatesWordPress显示运行数据库Wordfence Security插件百度熊掌号robots.txt禁止访问wordpress安全防护h5自适应布局wordpress描文本Redis加速缓存插件CWP控制面板转KLOXO-MR什么是 WooCommerceWordPress滤敏感词过滤插件All In One WP SecurityWordPress过滤敏感词插件xmlrpc.php攻击WordPress违禁词检查WP-No-Tag-Base插件网站添加CDN隐藏WordPress代码内版本号禁用 xmlrpc.phpWooCommerce 商店谷歌 SEOWordPress菜单自定义图标安装WordPress插件wordpress cdnwordpress打开是代码Easy WP Cleaner插件wordpress常规设置WordPress tagwordpress文章卡片样式Pretty Links Pro插件wordpress更换域名图标不显示Shortcodes Ultimate插件WP插件优化head代码namechep域名优惠码WP安全登录插件推荐WordPress站内搜索排除某些类别的文章wordpress小图标不显示bootstrap自适应布局Image Sizes插件WP SMTP插件WP SMTP插件设置隐藏WordPress后台登录地址xmlrpc.php漏洞WordPress官网制作WordPress页脚页眉插件Dropbox上传失败去除tag标签urlwordpress感谢页面扒站怎么改wordpress主题Avada主题演示wordpress漏洞修复Jetpack插件保护robots.txtWordPress虚拟主机伪静态wp-json链接BackWPup插件WordPress文章描文本WooCommerceBetter Search Replace插件Markdown here插件WordPress外链特色图片CWP开启Redis缓存wordpress表单跳转修改wordpress登录地址
服务电话:
0533-2765967

微信 13280692153