以下 php 文件获取一个自定义演示侧边栏,显示在管理小部件菜单中,但不显示在实际帖子上(文件位于同名文件夹中,该文件夹位于 WP 文件目录中的插件文件夹中) - 将文本小部件添加到自定义要测试的侧边栏:<?php/*** Plugin Name: Single Post CTA* Plugin URI: https://github.com/cdils/single-post-cta* Description: Adds sidebar (widget area) to single posts* Version: 0.1* Author: Carrie Dils* Author URI: https://carriedils.com* License: GPL v2+* License URI: https://www.gnu.org/licenses/gpl-2.0.html* Text Domain: spc*/// If this file is called directly, abortif ( !defined( 'ABSPATH' ) ) { die;}/*** Load stylesheet*/function spc_load_stylesheet() { if ( is_single() ) { wp_enqueue_style( 'spc_stylesheet', plugin_dir_url(__FILE__) .'spc-styles.css' ); }}// Hook stylesheetadd_action( 'wp_enqueue_scripts', 'spc_load_stylesheet' );// Register a custom sidebarfunction spc_register_sidebar() { register_sidebar( array( 'name' => __( 'Single Post CTA', 'spc' ), 'id' => 'spcsidebar', 'description' => __( 'Displays widget area on single posts', 'spc' ), 'before_widget' => '<div class="widget spc">', 'after_widget' => '</div>', 'before_title' => '<h2 class="widgettitle spc-title">', 'after_title' => '</h2>', ) );}// Hook sidebaradd_action( 'widgets_init', 'spc_register_sidebar' );// Display sidebar on single postsfunction spc_display_sidebar( $content ) { if ( is_single() ) { dynamic_sidebar( 'spcsidebar' ); } return $content;}// Add dynamic sidebaradd_filter( 'the content', 'spc_display_sidebar' );以下是与自定义侧边栏文件位于同一文件夹中的关联样式表:.spc { background: gray; color: blue;}定制器下的小部件菜单显示“您的主题有 1 个其他小部件区域,但此特定页面不显示它”。这个 WordPress 指南https://developer.wordpress.org/themes/functionity/sidebars/似乎表明必须在主题或子主题的functions.php 文件中注册侧边栏/小部件,然后创建一个侧边栏-{name}在其中运行dynamic_sidebar 函数的.php 文件。是这样吗?我正在使用 Genesis Sample 子主题,并切换到 2020 年和 2017 年 WordPress 主题,或停用所有其他插件都没有解决问题。
- 2 回答
- 0 关注
- 118 浏览
添加回答
举报
0/150
提交
取消