Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用新样式表在Wordpress中创建自定义页面?_Php_Html_Css_Wordpress - Fatal编程技术网

Php 如何使用新样式表在Wordpress中创建自定义页面?

Php 如何使用新样式表在Wordpress中创建自定义页面?,php,html,css,wordpress,Php,Html,Css,Wordpress,wordpress新手,所以这里有点挣扎 基本上,我有4个需要创建的自定义页面模板:主页、公文包、关于、联系人 对于这些新页面,我需要一个新的CSS文件。我已经将我的脚本portfolio.css放入队列,如下所示: function my_custom_styles() { wp_register_style( 'portfolio', get_template_directory_uri().'/portfolio.css' ); if ( is_portfolio ) { wp_e

wordpress新手,所以这里有点挣扎

基本上,我有4个需要创建的自定义页面模板:主页、公文包、关于、联系人

对于这些新页面,我需要一个新的CSS文件。我已经将我的脚本
portfolio.css
放入队列,如下所示:

function my_custom_styles() {

wp_register_style( 'portfolio', 
get_template_directory_uri().'/portfolio.css' );

if ( is_portfolio ) {

wp_enqueue_style( 'portfolio' );
}
}
add_action( 'wp_enqueue_scripts', 'my_custom_styles' ); 
这很好用-我唯一的问题是我的主样式表
style.css
与此冲突,并覆盖了很多样式。基本上,
style.css
portfolio.css
都是同时加载的

我如何获得它,以便仅在我的主页上加载style.css,
portfolio.css
在我的portfolio页面上加载,
about.css
仅在我的about页面上加载等

我似乎找不到任何在线帮助


干杯,伙计们

理想情况下,
portfolio.css
about.css
等将扩展
样式.css
,其中大多数核心样式(字体大小、重量、填充、重音声明等)将在
样式中定义,但
portfolio
将添加一些其他地方未使用的其他样式

如果您确实希望它们相互排斥,则必须将style.css文件出列

查看页面源代码并搜索
/YOURACTIVETHEME/style.css
。注意
标记中的
id=“some style id”
。这是样式表的“句柄”,您可以使用或删除它

此外,清理代码,这些不一致的缩进将很难维护。检查您的代码,您确定您的
if
语句有效吗
is\u公文包
现在是一个常量……您可能打算使用或函数之类的东西传递它

add_action( 'wp_enqueue_scripts', 'my_custom_styles' );
function my_custom_styles() {
    wp_register_style( 'portfolio', get_template_directory_uri().'/portfolio.css' );

    if( is_page('portfolio') ){ // Use Page Title, Page Slug, or Page ID here
        wp_enqueue_style( 'portfolio' );
        wp_dequeue_style( 'YOUR-ID-FROM-EARLIER' );
    }
}
所有这些都说明,如果您有自定义页面模板,您可以使用put

wp_enqueue_style( 'portfolio', get_template_directory_uri().'/portfolio.css' );
wp_dequeue_style( 'YOUR-ID-FROM-EARLIER' );
在页面模板文件中


另一个要考虑的是,你使用的是从父主题中提取的东西。如果您想要使用模板(ala)的活动子主题,您需要使用它。

理想情况下,
portfolio.css
about.css
等将扩展
style.css
,其中大多数核心样式(字体大小、重量、填充、重音声明等)将在
style
中定义,但是
portfolio
会添加一些其他地方没有使用的附加样式

如果您确实希望它们相互排斥,则必须将style.css文件出列

查看页面源代码并搜索
/YOURACTIVETHEME/style.css
。注意
标记中的
id=“some style id”
。这是样式表的“句柄”,您可以使用或删除它

此外,清理代码,这些不一致的缩进将很难维护。检查您的代码,您确定您的
if
语句有效吗
is\u公文包
现在是一个常量……您可能打算使用或函数之类的东西传递它

add_action( 'wp_enqueue_scripts', 'my_custom_styles' );
function my_custom_styles() {
    wp_register_style( 'portfolio', get_template_directory_uri().'/portfolio.css' );

    if( is_page('portfolio') ){ // Use Page Title, Page Slug, or Page ID here
        wp_enqueue_style( 'portfolio' );
        wp_dequeue_style( 'YOUR-ID-FROM-EARLIER' );
    }
}
所有这些都说明,如果您有自定义页面模板,您可以使用put

wp_enqueue_style( 'portfolio', get_template_directory_uri().'/portfolio.css' );
wp_dequeue_style( 'YOUR-ID-FROM-EARLIER' );
在页面模板文件中


另一个要考虑的是,你使用的是从父主题中提取的东西。如果您想要使用模板(ala)的活动子主题,您需要使用它。

您所说的一切都非常有意义。我认为在style.css中使用所有主要样式,然后再使用portfolio.css中其他地方未使用的其他样式是最佳实践,也是最干净的方式。还感谢您更正了我在functions.php中输入的代码-自从您回答问题以来,我一直在玩,现在一切都很好。您所说的一切都非常有意义。我认为在style.css中使用所有主要样式,然后再使用portfolio.css中其他地方未使用的其他样式是最佳实践,也是最干净的方式。还感谢您更正了我在functions.php中输入的代码-自从您回答问题以来,我一直在玩,现在一切都很好。