codememo

"CSS"(style.php)의 전역 변수에 액세스

tipmemo 2023. 10. 20. 13:42
반응형

"CSS"(style.php)의 전역 변수에 액세스

스타일을 하고 있습니다.워드프레스 설치 내 CSS에서 동적 변수를 사용할 수 있도록 php CSS 파일:

<?php header("Content-type: text/css"); ?>

등등.

style.php 파일 내에서 전역 변수에 액세스하거나 변수를 전달하려면 어떻게 해야 합니까?

CSS 내에서 작업하려는 코드는 다음과 같습니다.

$maincolor = $cap->br_main_color;

또한:

  • 캐싱 문제는 무시합니다.이건 개인적인 프로젝트일 뿐입니다.
  • 링크의 변수를 스타일시트에 전달하는 것은 너무 복잡합니다(제 생각에는).

편집: 조금 더 설명하자면:제가 하고 있는 일은 여러 가지 색상을 바탕으로 전체 테마를 생성하고 호버 효과 등에 대한 음영을 계산하는 것입니다.스타일의 약 50%가 일부 PHP를 포함하고 있습니다.수동으로 색상을 style.php에 입력하면 모든 것이 정상적으로 작동하지만 기술에 덜 정통한 사람들에게 훨씬 더 간단해지고 색상 선택기를 사용하려고 합니다.

여기 워드프레스 코어의 조작이 필요 없는 워드프레스 .css 스타일시트(내가 확신할 수 없는 유용성)에 php를 내장하는 대안적인 해결책이 있습니다.

단순히 당신의 테마디어에 보통의 코드를 포함하는 php 내장 css 파일을 만들기만 하면 됩니다.


embed_stylephp

/* define document as css*/
<?php header("Content-type: text/css"); ?>

/* Example php variable declaration and function call */
<?php $body_color = get_color(); ?>

/* Begin php embedded css code below here */
body {
    background: none;
    color: <?php echo $body_color ?>;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 10pt
}

그런 다음 이 동적 파일을 테마 스타일로 가져오면 워드프레스 코어를 수정할 필요가 없습니다.


풍격

/*  
Theme Name: Mytheme
Version: 1.0
Description: This theme has php embedded css
Author: You
*/
@import url(embedded_style.php);
/* Normal CSS below as required */

나의 2센트

이 토막글의 기원은 부모 테마에서 자녀로 css를 가져올 때 다양한 디렉토리 이름을 허용하려는 시도였습니다.코어 워드프레스 파일을 수정하는 아이디어는 마음에 들지 않았지만 대부분의 함수/후크가 style.css 런타임에 정의되어 통화를 중단하지 않기 때문에 대체 방법을 찾아야 했습니다.결국 저는 파일 호출을 중단할 수 없었던 것과 같은 이유(워드 프레스 편리 상수 등을 사용하기에는 너무 이른 경우)로 이것을 사용하지 않았지만, 다른 사람에게 유용하기를 바랍니다.

워드 프레스 기능에 액세스하려면 style.php 파일 위에 다음 행을 포함해야 합니다.

define('WP_USE_THEMES', false);
require('./wp-blog-header.php');

첫 번째 줄은 word press에 테마 관련 프로세스를 실행하지 말라고 알려주고 두 번째 줄은 word press 엔진을 실행합니다.이 시점이 지나면 워드프레스 기능과 전역 변수에 액세스할 수 있습니다.

언급URL : https://stackoverflow.com/questions/3796542/accessing-global-variable-in-css-style-php

반응형