我希望能够通过在后端使用Page而不是默认的style.css
文件来编辑我的WordPress主题CSS。我之前已经看过它作为一个页面模板,但我似乎无法自己解决这个问题。
我在Multisite上使用WordPress版本4.7.2。我希望CSS在主题激活时生成,因此使用Page。
如果这是一个简单的解决方案并且可以通过其他方式实现此目的,我会提前道歉。谢谢!
答案 0 :(得分:0)
我强烈建议您使用插件,例如https://wordpress.org/plugins/wp-add-custom-css/或使用WordPress定制器"其他CSS"领域。
然而,要回答你的问题,这很容易,因为我修改了一些方法,我用ajax加载了一些页面。您需要创建一个页面模板,并且需要FTP和代码编辑器来创建页面,然后将其推送到您的主题文件夹(希望在升级时儿童主题或此模板将消失)。
我将我的CSS页面模板命名为: css-page.php
它只需要打开php标签。
模板的代码css-page.php
<?php
/**
*
* Template Name: CSS page
* Not a recommended idea.
*
*/
header("Content-type: text/css; charset: UTF-8");
ob_start("compress");
//minify CSS
function compress( $minify ) {
/* remove comments */
$minify = preg_replace( '!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $minify );
/* remove tabs, spaces, newlines, etc. */
$minify = str_replace( array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $minify );
return $minify;
}
//get the content
if (have_posts()) :
while ( have_posts() ) : the_post();
$content = get_the_content();
$content = wp_filter_nohtml_kses( $content );
echo $content;
endwhile;
endif;
ob_end_flush();
然后在您的子主题(或该文件或自定义插件的包含)的functions.php文件中粘贴以下内容,但在注明的地方更改:
更改值p =&#39; 3134&#39;到您使用此模板的网页ID。改变id =&#34;某事&#34;别的东西或删除它。有用于拥有js操作的id或类。
适用于functions.php
//Get CSS page contents
function myprefix_page_css() {
echo '<link rel="stylesheet" id="something" href="'. site_url() .'/?p=3134" type="text/css" media="screen">';
}
add_action( 'wp_head', 'myprefix_page_css', 99 );