首页 > 解决方案 > 如果页面网址与我提供的完全相同,则适用条件

问题描述

我必须使用 php 片段为某些页面档案应用特定的 css,因为没有此 url 的页面,所以我发现这个有用的代码,如果 url 包含一个字符串,它将应用以下条件。

add_action( 'init', 'bbloomer_apply_css_if_url_contains_string' );

function bbloomer_apply_css_if_url_contains_string() {

$url = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];

if ( false !== strpos( $url, 'events/page' ) ) {
    echo '<style type="text/css">
         .buttonizerev { display: none; }
         </style>';
} 

}

我希望使用与此条件相同的代码,但如果 url 包含某个字符串,我希望在 url 与https://staging1.tktshub.com/events完全相同的情况下应用它

我如何在一个片段中实现这一点以应用我提供的条件,或者即使在 2 个片段中。

标签: phpcsswordpress

解决方案


好的做法是使用wp_add_inline_style函数和wp_enqueue_scripts钩子。

您必须在以下位置找到wp_enqueue_style您的主 css 文件functions.php

wp_enqueue_style( 'style', get_stylesheet_uri() );

并使用第一个参数(在这种情况下为'style')作为wp_add_inline_style函数中的第一个参数:

wp_add_inline_style( 'style', $custom_css );

并在第二个参数中将您的样式作为字符串提供。最终代码:

add_action( 'wp_enqueue_scripts', 'apply_css_if_url_contains_string' );

function apply_css_if_url_contains_string() {
  $url = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];

  if ( $url == 'staging1.tktshub.com/events' ) {
    $custom_css =  '.buttonizerev { display: none; }'; 
    wp_add_inline_style( 'style', $custom_css );
  } 
}

阅读更多关于wp_add_inline_style 这里


推荐阅读