专业WORDPRESS主题设计制作

什么是wordpress钩子(WordPress怎么用)

发布于: 2022-08-19

本文主要介绍了讲解WordPress钩子hook的概念及基本用法,hook是WordPress中调用函数的重要用法,也是开发WordPress各种功能和插件的时候经常用到的。
WordPress常用两种钩子,一种叫做动作(action),还有一种叫做过滤器(filter)。
动作钩子概念
动作钩子是WP代码执行到某处或某个事件发生时触发的一系列函数,插件可以利用动作钩子API在WP代码执行的特定点之前插入一系列函数以控制执行。它跟过滤钩子极像,唯一不同的是过滤钩子返回一个处理后的值,而动作钩子仅完成函数执行并不返回值,如果钩子不存在则返回NULL并新增该钩子。
动作钩子原理
由于动作钩子和过滤钩子几乎一样,所以它们的实现原理也是一样的。它主要利用一个全局变量$wp_filter,增加动作函数时使用add_action()函数给全局变量$wp_filter增加了一个数组元素,这个元素键名中含有钩子名,值中含有对应函数及执行优先级等信息,在调用do_action()函数使用动作钩子时,它通过循环查找出所有跟钩子关联的函数并将其依次调用,最后返回处理后的数据。
语法结构

add_action($hook,$function_to_add,$priority = 10,$accepted_args = 1)

add_action()作用:该函数用于给指定的动作钩子$hook添加指定的挂载函数$function_to_add,同时它可以确定挂载函数执行优先级及其可接收参数个数;
参数

$hook 为钩子名
$function_to_add 为挂载函数名
可选参数$priority为该挂载函数执行的优先级,默认为10,该数字越小则越早执行,数字相同则按其添加到钩子上的顺序执行,越早添加越早执行
可选参数$accepted_args确定挂载函数接收的参数个数,默认为1

只将概念的话可能会有点难以理解,下面我们结合一个例子进行讲解。wp_head 是一个很常用的动作钩子,在开发主题过程中,开发者都会在 head 标签里加上 wp_head() 函数,事实上,正是这个函数调用了 wp_head 钩子,如果没有这段代码则有的插件将不能正常工作,该函数位于wp-includes/general-template.php文件中,原函数如下:

什么是wordpress钩子
function wp_head() {   
    do_action('wp_head');   
}

我们这样解释do_action函数:do_action执行一个“动作”,这个动作名称就是这个参数”wp_head”,这个wp_head动作是不需要定义的,do_action还有定义的功能,也就是先前不需要定义这个wp_head是什么、要干嘛,而do_action就定义了一个名叫wp_head的动作,并执行它。

wp_enqueue_scripts钩子(wordpress钩子函数大全)

发布于: 2022-08-19

wp_enqueue_scripts钩子主要用来前台调用css和js文件,其中需要了解下这两个函数:wp_enqueue_style和wp_enqueue_script

第一种方法

function tone_front_cssscript(){
    //全局加载样式
    wp_enqueue_style( 'style', get_template_directory_uri() . '/style.css' );
    //全局加载js脚本
    wp_enqueue_script( 'jquery-min', get_template_directory_uri() .'/js/jquery.min.js' );
}
add_action( 'wp_enqueue_scripts', 'tone_front_cssscript' );

第二种方法,先注册css或js,再进行调用

function tone_admin_cssscript(){
    wp_register_style('custom_wp_admin_css', get_template_directory_uri() . '/style.css');
    wp_enqueue_style( 'custom_wp_admin_css' );

    wp_register_style('custom_wp_admin_script', get_template_directory_uri() . '/js.css');
    wp_enqueue_script( 'custom_wp_admin_script' );
}
add_action( 'admin_enqueue_scripts', 'tone_admin_cssscript' );

使用 is_single() 只在文章加载脚本或CSS

id为文章的ID就可以让脚本和css只加载到那篇文章。当然,如果直接使用 is_single() (不填ID),就会在所有文章加载脚本和CSS。  
function myScripts() {  
    if ( is_single(id) ) { 
        wp_enqueue_style( 'style', get_template_directory_uri() . '/style.css' );
        wp_enqueue_script( 'jquery-min', get_template_directory_uri() .'/js/jquery.min.js' );
    }  
}  
add_action( 'wp_enqueue_scripts', 'myScripts' );

使用 is_page() 只在页面加载脚本或CSS

wp_enqueue_scripts钩子
id为页面的ID就可以让脚本和css只加载到那个页面。当然,如果直接使用 is_page() (不填ID),就会在所有页面加载脚本和CSS。
function myScripts() {  
    if ( is_page(id) ) { 
        wp_enqueue_style( 'style', get_template_directory_uri() . '/style.css' );
        wp_enqueue_script( 'jquery-min', get_template_directory_uri() .'/js/jquery.min.js' );
    }  
}
add_action( 'wp_enqueue_scripts', 'myScripts' );

get_post_thumbnail_id()函数(get_support()函数)

发布于: 2022-08-19

get_post_thumbnail_id()函数主要是用来获取文章缩略图ID,通过该函数,如果当前文章设置了特色图像,就可以返回该特色图像的ID,如果没有设置则返回null值。

语法

<?php get_post_thumbnail_id( $post_id ); ?>

参数

$post_id – 文章ID,默认为空

get_post_thumbnail_id()函数

实例请参考本篇文章:

wp_get_attachment_image_src()函数

WordPress文章末端如何添加本文URL?WP原文链接PHP代码(wordpress怎么添加链接)

发布于: 2022-11-03

1 ?‍?一、修改文章页面模板single.php

  • 2 ?‍?二、添加PHP代码到function.php文件

 

如何在WordPress中每篇文章的末尾添加原文链接

 

使用WordPress建站的朋友,若想要添加“原创文章若转载,请注明本文链接:”,实际上非常简单。

这里就分享2种在WordPress文末添加本文链接URL的方法。

?‍?一、修改文章页面模板single.php

在WordPress主题模板文件中,打开single.php,搜索以下PHP代码:

WordPress文章末端如何添加本文URL?WP原文链接PHP代码
<?php the_content(); ?>

这行PHP代码的下面,添加以下PHP代码 ▼

<p>原创文章如转载,请注明本文链接: <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_permalink(); ?></a></p>
  • 然后,保存更新,这样就可以了。

?‍?二、添加PHP代码到function.php文件

建议这种方法,不仅可以添加到博客日志页面的链接,包括feed也是可以。

打开主题文件夹中的function.php文件,并在最后添加以下PHP代码(复制和粘贴时请注意中文和英文标点符号):

<?php
function feed_copyright($content) {
if(is_single() or is_feed() or is_page()) {
$content.= '<div>    » 本文来自:<a title="我们网站" href="https://www.wordpressx.com/" target="_blank">我们网站</a> » <a rel="bookmark" title="'.get_the_title().'" href="'.get_permalink().'" target="_blank">《'.get_the_title().'》</a></div>';
$content.= '<div>    » 本文链接地址:<a rel="bookmark" title="'.get_the_title().'" href="'.get_permalink().'" target="_blank">'.get_permalink().'</a> »英雄不问来路,转载请注明出处,谢谢。</div>';
$content.= '<div>    » 有话想说:<a title="给我留言" href="'.get_permalink().'#respond" target="_blank">那就赶紧去给我留言吧.</a></div>';
$content.= '<div>    » 欢迎加入我们网站的 Telegram 频道:<a rel="external nofollow" title="点此加入我们网站的 Telegram 频道" href="" target="_blank">https://www.wordpressx.com/go/tgchannel</a></div>';
}
return $content;
}
add_filter ('the_content', 'feed_copyright');
?>
  • 请根据你的WordPress博客做修改。

希望我们网站( https://www.wordpressx.com/ ) 分享的《WordPress文章末端如何添加本文URL?WP原文链接PHP代码》,对您有帮助。

TAG:

WordPress为何无法显示带有google-adsense命名的图片?(wordpress上传图片无法显示)

发布于: 2022-11-03

1 为什么网站无法显示带有google-adsense命名的图片?

  • 2 如何解决网站无法显示带有google-adsense命名的图片?

 

WordPress为何无法显示带有google-adsense命名的图片?

在我们网站发布文章,想要揭露网上合法贷款骗局,首张图片命名中包含“google-ads”,一直无法显示该图片。

picture-cannot-displayed

起初以为是空间商禁止了此类图片名称,就想到在本地电脑上做个测试。

在本地电脑测试后,发现WordPress文章编辑器仍然无法显示带有google-ads命名的图片:

google-ads.jpg
google-adsense.jpg

google-ads.png
google-adsense.png

在前台也无法显示此类图片。

为什么网站无法显示带有google-adsense命名的图片?

多想想为什么,也许就会想到答案。

突然想到,是因为不希望错误点击自己的AdSense广告,索性启用了广告屏蔽插件,不料竟然连带有google-ads命名的图片也自动屏蔽了。

所以为了避免已启用广告屏蔽插件的访客,无法查看显示带有google-ads命名的图片,建议不要以“google-ads”作为图片名称。

如何解决网站无法显示带有google-adsense命名的图片?

不以“google-ads”作为图片名称,重命名为其它名称即可。

例如:将图片重命名为“ggads”或“gg-adsense”。

在此做个记录,以免忘记犯错又浪费时间了。

顺便提醒所有使用WordPress建站的朋友,需要注意避免带有“google-ads”或“google-adsense”之类命名的图片。

扩展阅读:

WordPress外链特色图片插件:Featured Image from URL

WordPress如何添加外链特色图片?Featured Image from URL插件设定虽然用WordPress建站有很多优势,但是在WordPress默认的媒体库,并不是那么好用:上传图片会自动裁剪生成各种尺寸……

featured-image-from-url_1-1

希望我们网站( https://www.wordpressx.com/ ) 分享的《WordPress为何无法显示带有google-adsense命名的图片?》,对您有帮助。

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

微信 13280692153