最近机缘巧合,帮助搞了个静态网站(可能把原本的项目給搞黄了,本来人家准备开发一个,结果可能看了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' ) . ' &copy; ' . 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 用于在文章中装入一个地图,用于显示地址。

最后修改日期: 2022年9月29日

作者