Month: September 2020

WP的customize Api知识点(一)

Customize Api分四个部分,panel、section、setting和control, panel是setion的集合面板,setting用来写入数据库数据,control用来上传数据。 首先创建customizer.php(或自定义名字)文件,然后在functions.php文件里面引入, include get_theme_file_path( ‘/inc/customizer.php’ ); 添加钩子来注册customize, add_action(‘customize_register’,’ju_theme_customizer’); 然后创建自定义函数:function ju_theme_customizer($wp_customize) { }; 在函数里添加panels: 然后再添加sections, 隶属于上面的panel. 然后添加settings和control, control又分多种,一般text之类的都只需用默认的control就行,setting一般都用默认的即可: 如果用到image上传的话,要用到image control, image control输出的是图片的url,无法使用wp_get_attachment_image来获取不同尺寸的图片地址,这时我们需要使用WP_Customize_Media_Control来控制形式,代码如下: 在前台用法是:echo wp_get_attachment_image(get_theme_mod(‘header_ads-set’),’pageBanner’) 其他几种control形式下次再详解。因为现在已经太晚了还有其他事情要做。

woocommerce开发第一步

首先要在functions.php里面添加对woo的支持,并可同时设置woo图片尺寸的大小,代码如下: 设置content_width, 完成此操作后,WordPress将自动将其用于oEmbed元素(YouTube视频,幻灯片共享等)的最大宽度。 通过filter来设置不显示product短代码的show results和sorting栏,

Wp网站生成sitemap时候出现error on line 2 at column 6: XML declaration allowed only at the start of the document错误

解决方法: 出现这种情况有两种原因,第一种原因是因为网站的插件或者主题的原因引起的冲突给sitemap_index.xml的头部添加了空白引起的错误,这种情况下就要仔细审查sitemap_index.xml文件的源代码,来找出错误。具体可参考这篇文章。 第二种原因就是你的functions.php里面头部可能有空行引起的错误,通常情况下php文件的标签起始于第一行而不应该有空行或者空格。 要正确解决问题,首先要清除网站的缓存,如果还没解决,就要进行一次冲突性的检查,很多时候会因为插件和插件的冲突或插件和主题的冲突会引起网站致命性错误。

wordpress最重要全局函数$post

$post Contains data from the current post in The Loop. Properties ID(integer) The post ID. post_author(integer) The ID of the post author. post_date(string) The post date using the server’s current timezone. Format: yyyy-mm-dd hh:mm:ss Example: 2011-05-19 13:51:21 (default Unix format ‘F j, Y’) post_date_gmt(string) Same as above, but in GMT.post_content(string) The post content. post_title(string) The post’s […]

Comments教程

WordPress的comment form是以comments.php文件作为基础的,没有这个文件无法调取comment函数。 首先在目录下创建comments.php文件,然后在single.php里comment的位置上,用函数调取comments form的内容: comments_open( )来检查是否帖子开启了comments功能,每个帖子都可以在帖子编辑页面文档=》讨论区里设置是否单独启用comment. 接下来我们编辑comments.php的模板,首先在头部添加一段代码,来检测是否帖子设置了密码保护,如果是,就不显示comments的内容: 通过comment_form() 函数来调用评论时候的表格,wordpress也设置好了一切检验表格的机制,comment_form用法: 函数最主要有几个数组组成:‘comment_field’,‘must_log_in’,‘logged_in_as’, ‘title_reply’,‘title_reply_to’,‘label_submit’,‘submit_button’,‘submit_field’,‘field’等组成,field又由下级数组组成:‘author’,’email’,‘url’,‘cookies’等。comment_form里可以直接粘贴html,完整用法举例: WordPress把所有comments存储在$comments的变量中,要把他们全部都展现出来,可以通过foreach来遍历,循环和标签的用法如下: 同时要注意if条件的使用,设置如果没有开启comment或者comments数量为0时不展现comment form模板。 Comment的reply功能,我们会在下一篇教程中讲到。

wordpress几个路径函数

带uri类的路径函数展现结果都是链接形式的绝对定位,如”http://watchlist.cn/wp-content/themes/domains/assets/css/color-yellow.css”;不带uri的是相对应服务器文件夹的位置,如”D:\wwwroot\watchlist.cn/wp-content/themes/domains”;require,include之类需要调用电脑上文件位置的,用不带uri之类函数,需要调取css,js,jpg之类浏览器需要读取的文件,需要用到带uri的函数。 有些函数可用在子主题文件夹,有些则始终指向父级主题文件夹。 get_theme_file_uri( $file ); 路径是:http://watchlist.cn/wp-content/themes/domains, get_template_directory_uri(); 路径是:http://watchlist.cn/wp-content/themes/domains”; get_theme_file_path( ); 路径是:D:\wwwroot\watchlist.cn/wp-content/themes/domains; get_template_directory(); 路径是:D:\wwwroot\watchlist.cn/wp-content/themes/domains; get_template_directory_uri(); 路径是:http://watchlist.cn/wp-content/themes/domains; get_stylesheet_directory(); 路径是:D:\wwwroot\watchlist.cn/wp-content/themes/domains; get_stylesheet_directory_uri(); 路径是:http://watchlist.cn/wp-content/themes/domains

udemy wp course notes

Lectures Notes & Download Source Code for this Section Congratulations on making it this far! Just in case you have any problems, then you can download the source code for this section right here. Thanks for support! You can view all the lecture notes here just in case you need them. Please be sure to let me know […]

wordpress的walker

walker在任何程序里都存在,是一个方法将一个多级的array循环出来。wordpress本身有自带的walker, 很多时候要自定义walker. start element 函数和end element 函数会循环每个单个的类目,start lvl 和end lvl函数会被读取当循环数据开始时和结束时候, 不会循环,只是在循环开始时候和结束时候读取。 召唤walker的方式是在wp_nav_menu的函数里边, bootstrap的nav walker: 简单的walker class:(注意要在functions.php里面include进来或者require进来。