我确实觉得你想把这里的事情弄得过于复杂。在一个child theme
. 这是我会考虑的事情,因为这确实是你想要实现的简单的事情。
您只需将联系人表单模板复制到您的子主题,将自定义css添加到该模板,并按照子主题的样式进行相应的样式设置即可。css。然后,您的子主题将始终使用此模板,而不是父主题的模板
EDIT 1
好吧,看来我有点误解了。
wp_enqueue_style()
用于向wordpress页面正确排队/添加样式表。这些样式表适用于所有页面。但是,样式表也可以使用有条件地加载conditional tags. 这样做的目的是,您可以决定仅为特定页面加载样式表,或者仅在存在特定条件时加载样式表
wp_enqueue_scripts
是用于在前端将脚本和样式表排队的适当挂钩。
因此,您可以创建样式表并将其称为pluginstyle。例如css,并在其中添加自定义样式。现在,在主插件文件中,需要将该样式表排队。首先,创建一个函数,在其中添加wp_enqueue_style()
. 其次,将该函数挂接到wp_enqueue_scripts
钩记住$src
父主题、子主题和插件不同。下面是一个示例
function plugin_stylesheet() {
wp_enqueue_style( \'plugin-styles\', plugins_url( \'/pluginstyle.css\', __FILE__ ) );
}
add_action( \'wp_enqueue_scripts\', \'plugin_stylesheet\' );
我希望这能回答你的问题。去看看我刚才给你的函数/挂钩是个好主意。
EDIT 2
你在评论中所作的假设是正确的。正如我在第一次编辑中所述,您将需要条件标记,请查看该编辑中给出的链接。
就您的问题而言,您需要使用is_page_template()
以联系人页面为目标的条件标记。因此,要使其工作,您需要包装wp_enqueue_style()
在a中if
语句,该语句将检查您是否在特定页面上,如果在,则会加载样式表,如果不在,则不会加载样式表。
只有一件事我在编辑1中忘了提到,在将函数添加到wp_enqueue_scripts
钩默认情况下,这将是10,因此要在主题的主样式表之后加载样式,需要稍后加载,因此需要大于10的数字。我在这里使用了999的优先级,但它可以是10以上的任何值。
因此,综上所述,您可以在插件中使用以下内容。只需将页面模板更改为您用于“联系我们”页面的模板。我使用了一个测试页面(模板页面test.php)来测试我的代码。
function plugin_stylesheet() {
if(is_page_template( \'page-test.php\' )) {
wp_enqueue_style( \'plugin-styles\', plugins_url( \'/pluginstyle.css\', __FILE__ ) ); );
}
}
add_action( \'wp_enqueue_scripts\', \'plugin_stylesheet\', 999 );