最近机缘巧合,帮助搞了个静态网站(可能把原本的项目給搞黄了,本来人家准备开发一个,结果可能看了WP之后,使用WP实现了,所以项目就…悲剧了);反正这些不管,大概涉及的一些技巧,我记录下,备忘而已
主题修改器(代码分析及修改)
使用主题文件编辑器可以直接修改PHP,实现版权页等修改,都是简单hook调用;各个主题可能不同但是调用方法名都服从于WP规范。稍微了解PHP的人应该看起来都不吃力,每个主题虽然代码不同,但是基础架构应该是一致的,我大概记录下分析过程,其他大同小异
比如页脚
使用主题修改器,很容易页脚文件(footer.php);一看就知道他通过调用一些方法实现了页脚的绘制
do_action( 'mynote_footer' );
do_action( 'mynote_footer_after' );
do_action( 'mynote_site_wrapper_after' );
wp_footer();
其实如果本地有开发环境,则一般IDE搜索一下就能找到指向非常方便,如果像我一样懒,可以直接分析代码,先入口代码 function.php;看下引用() 一般代码上都有注释说明
/**
* Hooks for Mynote theme.
*/
require get_parent_theme_file_path( '/inc/template-hooks.php' );
然后按图索骥:
/**
* Footer
*
* - mynote_footer_before
* - mynote_footer
* - mynote_footer_after
*
* @see mynote_footer_widgets()
* @see mynote_footer_columns()
*/
add_action( 'mynote_footer', 'mynote_footer_widgets', 10 );
add_action( 'mynote_footer', 'mynote_footer_columns', 20 );
然后再 template-hook-function.php 中找到
function mynote_footer_widgets() {
if ( is_active_sidebar( 'sidebar-2' ) ) {
?>
<section class="footer-sidebar">
<div class="container px-responsive">
<div class="row my-4">
<?php dynamic_sidebar( 'sidebar-2' ); ?>
</div>
</div>
</section>
<?php
}}
function mynote_footer_columns() {
?>
<div class="container footer-columns">
<div class="footer-column-left">
<div><?php mynote_site_info(); ?></div>
<div><?php mynote_nav( 'footer' ); ?></div>
</div>
<div class="footer-column-right">
<?php mynote_nav( 'social' ); ?>
</div>
</div>
<?php
}
通过修改这个函数就可以了,当然还可以进一步分析 mynote_site_info 函数,通过修改这个函数也行
function mynote_site_info() {
echo esc_html__( 'Copyright', 'mynote' ) . ' © ' . date( 'Y' ) . ' <strong><a href="' . esc_url( get_site_url() ) . '">' . get_bloginfo( 'name' ) . '</a></strong>. ' . esc_html__( 'All rights reserved.', 'mynote' ) . ' ';
$theme_link = 'https://terryl.in/';
echo esc_html__( 'Theme by', 'mynote' ) . ' <a href="' . esc_url( $theme_link ) . '" target="_blank">' . esc_html__( 'Mynote', 'mynote' ) . '</a>. ';
}
其他有用的插件
1,Snippets 可以通过它,分装代码块(包括不限于HTML,PHP),然后在文章中使用;这样可以回避掉通过代码直接修改主题,然后主题变化之后导致的尴尬。理论上分装好了,这些功能就和主题没有关系了。
2,WPForms 其实是更进去一步的1,他帮你分装好了很多常用的表单提交,包括点下去之后迁移到画面还是特殊消息显示都OK,一些简单的功能如发信之类的,几分钟搞定
3,WP Map Block 用于在文章中装入一个地图,用于显示地址。