将外部CSS添加到联系人页面

时间:2014-05-10 作者:honor

我正在尝试将自定义CSS添加到wordpress中的联系人表单中,这是一个在mysite加载的wp页面。com/联系人。我不想编辑任何现有的代码,我想写一个简单的插件。(实际上,主要目的是通过添加样式来隐藏此联系人页面上的google maps组件"display:none;")

我知道我可以用wp_enqueue_style() 我不知道该采取什么行动。我只想在需要时,在联系人表单页面加载时加载此css(将此css附加到现有联系人的css)。

我怎样才能做到这一点?

哪一个是正确的挂钩动作?

如果我想让问题变得更一般:“在加载wordpress页面时,我应该挂接什么动作来加载自定义css?”

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

我确实觉得你想把这里的事情弄得过于复杂。在一个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 ); 

结束

相关推荐

WordPress 3.8.3。自定义主题-滑块不会加载js/css文件

我正在构建自定义WP主题,但我对滑块有问题。我尝试安装的那些都不起作用。当我查看开发人员控制台并搜索他们的js/css文件时,发现他们不在那里。不在页眉或页脚中。其中一个插件可以选择将自己的文件包含在页眉或页脚中,试图改变这一点,但没有成功。Contact form和pagenavi工作正常,但滑块工作不正常。没有js错误,因为没有导致这些错误的文件。WP版本为3.8.3。包括jQuery 1.9.3,运行良好。我的功能中是否遗漏了什么。php(主题从无到有)可能吗?