【问题标题】:How can i include only specific styles and scripts for a wordpress page template?如何仅包含 wordpress 页面模板的特定样式和脚本?
【发布时间】:2017-10-16 14:43:48
【问题描述】:

我正在为 wordpress 构建一个自定义页面模板,我只想包含特定的样式和脚本,并完全忽略激活的主题样式和脚本,这样它们就不会与我的设计冲突。

我怎样才能只允许特定的样式和脚本而忽略激活的 wordpress 主题的所有样式和脚本?

【问题讨论】:

  • 对 index.php 中的默认样式和脚本使用条件?
  • 我正在为客户构建这个,所以我不知道他将使用什么样式或主题,我只需要找到一种方法只允许与我的页面相关的特定样式和脚本模板并忽略其他所有内容。
  • 在索引中使用 $REQUEST 条件。或尝试搜索插件。我更喜欢第二种选择
  • 您可以将在主题、插件等中入队的脚本和样式出列,您需要知道它们入队时使用的句柄。否则它们将由 Wordpress 加载,因此您无能为力。
  • 是的,我已经尝试过了,我希望有一些东西可以为我解决这个问题。如果什么都没有,那么我可能必须手动包含样式和脚本并排除 来自页面模板。

标签: php wordpress templates


【解决方案1】:

这会对你有所帮助。

function register_foundation_style() {
  if ( is_page_template( 'template-registration-page.php' ) ) {
    wp_enqueue_style( 'foundation', get_stylesheet_directory_uri() . '/foundation/css/foundation.min.css' );
  }
}
add_action( 'wp_enqueue_scripts', 'register_foundation_style'

参考:https://dobsondev.com/2015/06/05/conditionally-enqueue-stylesheet-into-wordpress-for-certain-page/

【讨论】:

  • 这并没有解决 OP 的问题,即他们希望能够在不知道它们可能是什么的情况下将其他样式和脚本出列。
  • 是的,一旦我们有条件地将样式或脚本排入队列,它将自动忽略其他样式和脚本。
【解决方案2】:

由于没有办法做到这一点,我设法做了这个小技巧,它工作得很好。

我从模板中删除了<?php wp_head(); ?> ,并像这样手动包含了css文件。

<?php 
echo '<link rel="stylesheet" href="' . plugins_url( 'assets/css/style.css', __FILE__ ) . '" type="text/css" media="screen" />';
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-10
    • 1970-01-01
    • 2020-06-08
    • 2017-06-19
    • 2021-12-28
    • 1970-01-01
    • 2017-08-31
    • 1970-01-01
    相关资源
    最近更新 更多