注意事项:
- 仅限于zaxu 主题使用
- 文件保存为php格式,压缩成zip格式
- 上传至WordPress后台插件使用
<?php
/*
Plugin Name: 版权声明插件
Description: 一个简单的插件,在每篇文章底部添加自定义版权声明,并带有磨砂透明玻璃效果。
Version: 1.4
Author: 小四口
*/
// 添加设置页面链接到设置菜单
function custom_copyright_settings_menu() {
add_options_page('自定义版权声明', '自定义版权声明', 'manage_options', 'custom-copyright', 'custom_copyright_settings_page'); // 添加选项页到设置菜单
}
add_action('admin_menu', 'custom_copyright_settings_menu'); // 将函数挂载到 admin_menu 钩子
// 显示设置页面内容
function custom_copyright_settings_page() {
?>
<div class="wrap">
<h1>自定义版权声明</h1>
<p><strong>版权声明:</strong> 该插件为站点 <a href="https://skben.com/" target="_blank">四口北廿「https://skben.com/」</a> 编写,仅对于自己站点的兼容性,如有bug请联系站点管理员。版本V1.4</p>
<form method="post" action="options.php">
<?php
settings_fields('custom_copyright_group');
do_settings_sections('custom-copyright');
submit_button();
?>
</form>
</div>
<?php
}
// 注册并定义设置
function custom_copyright_settings_init() {
register_setting('custom_copyright_group', 'custom_copyright_site_name');
register_setting('custom_copyright_group', 'custom_copyright_site_url');
register_setting('custom_copyright_group', 'custom_copyright_site_content');
register_setting('custom_copyright_group', 'custom_copyright_backdrop_opacity');
add_settings_section(
'custom_copyright_main',
'',
'__return_false', // 不需要回调函数
'custom-copyright'
);
add_settings_field(
'custom_copyright_site_name',
'站点名称',
'custom_copyright_site_name_callback',
'custom-copyright',
'custom_copyright_main'
);
add_settings_field(
'custom_copyright_site_url',
'站点地址',
'custom_copyright_site_url_callback',
'custom-copyright',
'custom_copyright_main'
);
add_settings_field(
'custom_copyright_site_content',
'站点内容',
'custom_copyright_site_content_callback',
'custom-copyright',
'custom_copyright_main'
);
add_settings_field(
'custom_copyright_backdrop_opacity',
'毛玻璃效果透明度',
'custom_copyright_backdrop_opacity_callback',
'custom-copyright',
'custom_copyright_main'
);
}
add_action('admin_init', 'custom_copyright_settings_init'); // 将函数挂载到 admin_init 钩子
// 设置字段回调函数
function custom_copyright_site_name_callback() {
$site_name = get_option('custom_copyright_site_name', ''); // 获取设置值
echo "<input type='text' name='custom_copyright_site_name' value='" . esc_attr($site_name) . "' />";
echo "<p class='description'>填写自己站点名称</p>";
}
function custom_copyright_site_url_callback() {
$site_url = get_option('custom_copyright_site_url', ''); // 获取设置值
echo "<input type='text' name='custom_copyright_site_url' value='" . esc_attr($site_url) . "' />";
echo "<p class='description'>自己站点链接</p>";
}
function custom_copyright_site_content_callback() {
$site_content = get_option('custom_copyright_site_content', '内除注明转载文章,其他均为老俍独立创作,采用「CC BY-NC-ND 4.0」创作共享协议。原创不易,希望保留原文链接转载,'); // 获取设置值
wp_editor($site_content, 'custom_copyright_site_content', array('textarea_name' => 'custom_copyright_site_content')); // 使用WP编辑器支持HTML
echo "<p class='description'>自定义内容,支持简单的HTML内容</p>";
}
function custom_copyright_backdrop_opacity_callback() {
$backdrop_opacity = get_option('custom_copyright_backdrop_opacity', '0.8'); // 获取设置值,默认为0.8
echo "<input type='number' step='0.1' min='0.1' max='1.0' name='custom_copyright_backdrop_opacity' value='" . esc_attr($backdrop_opacity) . "' />";
echo "<p class='description'>最低透明:0.1,最高不透明:1.0</p>";
}
// 在文章底部显示版权声明
function custom_copyright_display_notice($content) {
if (is_single()) { // 检查是否为单篇文章页面
$site_name = get_option('custom_copyright_site_name', ''); // 获取站点名称
$site_url = get_option('custom_copyright_site_url', ''); // 获取站点地址
$site_content = get_option('custom_copyright_site_content', ''); // 获取站点内容
$backdrop_opacity = get_option('custom_copyright_backdrop_opacity', '0.8'); // 获取毛玻璃效果透明度
if (!empty($site_name) && !empty($site_url)) { // 如果站点名称和站点地址不为空
$content .= '<div class="post-copyright">';
$content .= '<span class="corner top-left"></span>'; // 左上角对标的符号
$content .= '<span class="corner bottom-right"></span>'; // 右下角对标的符号
$content .= '网站声明:本站 [<a href="' . esc_url($site_url) . '">' . esc_html($site_name) . '</a>] '; // 输出站点名称和链接
$content .= wp_kses_post($site_content); // 输出站点内容
$content .= '</div>';
}
}
return $content; // 返回修改后的内容
}
add_filter('the_content', 'custom_copyright_display_notice'); // 将函数挂载到 the_content 钩子
// 添加自定义样式用于版权声明
function custom_copyright_add_styles() {
?>
<style type="text/css">
.post-copyright {
background-color: rgba(255, 255, 255, <?php echo esc_attr(get_option('custom_copyright_backdrop_opacity', '0.8')); ?>); /* 半透明白色背景 */
backdrop-filter: blur(10px); /* 磨砂玻璃效果 */
border-radius: 8px; /* 圆角 */
padding: 10px;
margin-top: 20px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 微弱阴影 */
font-weight: bold; /* 字体加粗 */
position: relative;
overflow: hidden;
}
.post-copyright a {
color: blue; /* 蓝色字体 */
}
.post-copyright .corner {
position: absolute;
width: 20px;
height: 20px;
background-color: #ccc;
border-radius: 50%;
}
.post-copyright .corner.top-left {
top: -10px;
left: -10px;
transform: rotate(-45deg);
}
.post-copyright .corner.bottom-right {
bottom: -10px;
right: -10px;
transform: rotate(45deg);
}
.post-copyright p.description {
margin-top: 5px;
color: #666;
font-size: 12px;
}
</style>
<?php
}
add_action('wp_head', 'custom_copyright_add_styles'); // 将函数挂载到 wp_head 钩子