wordpress - 如何获取 .js 和 .css 文件并替换它们

标签 wordpress

我正在创建一个 WordPress 插件。

我已经为此创建了基础,并且所有设置都正确。

我尝试查看 thisthis看看我是否可以请求并获取页眉和页脚中的所有脚本(.js 文件)。

我认为这是最好的功能,但结果并不正确。

我基本上想获取 JS 和 CSS 文件并替换为另一个字符串。

假设这是我的页面:

<!DOCTYPE html>
<html>
<head>
    <title>Page</title>
    <link rel="stylesheet" href="http://www.example.com/mycss.css" />
</head>
<body>

<script type="text/javascript" src="http://www.example.com/myscript.js"></script>
<script type="text/javascript" src="http://www.example.com/another_script.js"></script>
</body>
</html>

我的函数必须查找 .css 和 .js 文件并将字符串替换为其他内容。那么结果将是:

<!DOCTYPE html>
<html>
<head>
    <title>Page</title>
    <mytag>Here was contained a CSS from http://www.example.com/mycss.css</mytag>
</head>
<body>

<mytag>Here were contained 2 JS from http://www.example.com/myscript.js and http://www.example.com/another_script.js</mytag>
</body>
</html>

编辑 我实际上必须获取这些文件的名称和路径。

我想我可以使用正则表达式,但我不知道如何使用 get_headerget_footer 加载它(如果这些是正确的函数)

最佳答案

与从 get_header() 和 get_footer() 函数接收相关标记后删除相关标记相比,将所有样式和/或出列更有意义脚本,这样它们一开始就不会被打印在那里。

您可以通过查看 $wp_styles/$wp_scripts 对象的 registered 属性来获取文件的路径。然后您可以继续使用 basename() 获取文件名:

function dequeue_all_styles() {
    global $wp_styles;

    foreach( $wp_styles->queue as $handle ){
        wp_dequeue_style($handle);
        $src = $wp_styles->registered[$handle]->src;
        $filename = basename($src);
    }
}
add_action( 'wp_print_styles', 'dequeue_all_styles', 100 );

function dequeue_all_scripts() {
    global $wp_scripts;

    foreach( $wp_scripts->queue as $handle ){
        wp_dequeue_script($handle);
        $src = $wp_scripts->registered[$handle]->src;
        $filename = basename($src);
    }
}
add_action( 'wp_print_scripts', 'dequeue_all_scripts', 100 );

如果您有其他样式和脚本来放置它们的位置,只需使用wp_enqueue_style()wp_enqueue_script()即可。

关于wordpress - 如何获取 .js 和 .css 文件并替换它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31811583/

相关文章:

css - 页面布局中的 Wordpress 两个背景图像?

php - 从 Woocommerce 中的我的帐户订单表中删除项目计数

php - Wordpress 脚本使用的正常内存量是多少?

mysql - 从我的 .csv URL 列表中删除 Wordpress 帖子

html - 如何找到网页子页面的介绍模板

css - 有什么好的教程可以将 HTML CSS 转换为 wordpress?

WordPress:如何获取单个帖子的 rss feed?

php - 找到此代码使用的 WordPress 插件源代码

wordpress - WooCommerce 中的按订单构建产品——覆盖产品组合

reactjs - 获取错误 : invalid json response body at . 。 JSON 中位置 0 处出现意外标记 <