رفتن به مطلب

استایل فراخوانی شده از یک فایل php وانجام تغییرات در آن


پست های پیشنهاد شده

با سلام خدمت شما

یه پوسته فرزند دارم و یه فایل avia-media.css موجود در پوسته والد که می خوام کد های اون رو از طریق پوسته فرزند تغییر بدم

زمانی که در پوسته والد جستجو می کنم. نام فایل مورد نظر رو جستجو می کنم. به نتایج زیر میرسم.

wp_enqueue_style( 'avia-media-style' , AviaBuilder::$path['assetsURL'].'css/avia-media.css');

تا اونجایی که من می دونم فایل css مورد نظر از طریق php فراخوانی شده . که باید برای ایجاد تغییرات فایل تغییر یافته رو بهش معرفی کنم (ازطریق php فراخوانی کنیم ) اما چون از خط بالا سر در نمی یارم نمی دونم باید چیکار کنم.

ممنون میشم راهنمایی نمایید.

بااحترام

لینک به ارسال

اگه اسم فایل رو تغییر ندید نیازی نیست چیزی رو معرفی کنید اگر اسمش رو تغییر دادید جای avia-media نام فایل جدید رو بگذارید

لینک به ارسال

اگه اسم فایل رو تغییر ندید نیازی نیست چیزی رو معرفی کنید اگر اسمش رو تغییر دادید جای avia-media نام فایل جدید رو بگذارید

با سلام خدمت شما

عرض به حضور شما که بنده در حال حاضر می تونم این فایل رو مستقیما از طریق پوسته والد تغییر بدم اما مشکلی که اینجا وجود داره این که می خوام این کار رو از طریق پوسته قرزند بدم تا زمانی که پوسته والد رو اپدیت کردم تغییرات از بین نره.

حالا که طبق فرمایش شما بدون تغییر نام اون رو در پوشه فرزند قرار دادم و تغییرات مورد نظرم رو هم اعمال کردم حتی فایل مورد نظر رو از فایل استایل فرزند ایمپورت کردم اما تغییراتی که داده بودم اعمال نشد.

خاطر نشان می سازم که بنده می خوام در قسمت ادمین پوسته تغییرات بدم نه در قسمتی که توسط همه قابل مشاهده باشه. گفتمک اینم بگم شاید به درد خورد.

ممنون میشم راهنمایی نمایید

ویرایش شده توسط koroush
لینک به ارسال

پوسته والد و فرزند فرقی نمی کنه

شما یک قالب دارید که همه اجزای اون با کدهای معرفشون به بخش مناسبشون معرفی شدند حالا اگر می خواهید یک فایل از این قالب را ویرایش کنید اون فایل را در نوت پد باز کنید و ویرایش کنید و ذخیره کنید به بقیه ساختار قالب و کدها هم دست نزنید چون احتمالا باعث به هم خوردن دستورات اصلی قالب می شید

قالب را وقتی شخصی سازی می کنید نباید با به روز رسانی خودکار به روزش کنید

باید فایل قالب را دریافت کنید و فایلهای دستکاری نشده را جایگزین کنید و فایلهای ویرایش شده را با هم مقایسه کنید و کدهایی که در به روز رسانی توشون قرار گرفته را جایگزین کنید

لینک به ارسال

پوسته والد و فرزند فرقی نمی کنه

شما یک قالب دارید که همه اجزای اون با کدهای معرفشون به بخش مناسبشون معرفی شدند حالا اگر می خواهید یک فایل از این قالب را ویرایش کنید اون فایل را در نوت پد باز کنید و ویرایش کنید و ذخیره کنید به بقیه ساختار قالب و کدها هم دست نزنید چون احتمالا باعث به هم خوردن دستورات اصلی قالب می شید

قالب را وقتی شخصی سازی می کنید نباید با به روز رسانی خودکار به روزش کنید

باید فایل قالب را دریافت کنید و فایلهای دستکاری نشده را جایگزین کنید و فایلهای ویرایش شده را با هم مقایسه کنید و کدهایی که در به روز رسانی توشون قرار گرفته را جایگزین کنید

با سلام خدمت شما

برای بنده بسیار راحت هست که مستقیما پوسته والد رو تغییر بدم . دیگه نیام پوسته فزرند تعریف کنم و دردسرهای دیگه.

اما وقتی می بینم ممکن هست که در یک پوسته چند ده جا رو تغیر بدم و بعد از مدتی که آپدیت اومد بیام بررسی کنم ببینم کجا بود ویرایش کردم و .... یادم بمونه و نمونه و ... .

به همین دلیل هست که از پوسته فزرند استفاده می کنم . تا اونجایی هم که بررسی کردم حکمت پوسته فزرند همینانجام تغییرات دلخواه و وجود تغییرات بعد از به روز رسانی پوسته هست.

با همین اطلاعات اندک فعلی هم وقتی بررسی می کنم میبینم پوسته فرزند مشکل فراموشی محل فایل های ویرایش شده رو از بین می بره.

شما استاد هستید و با تجربه و نظر شما محترم ، اما این جمله ای که گفته شده "

پوسته والد و فرزند فرقی نمی کنه "

با اون چیزی که من دارم در واقعیت میبینم فرق داره وگرنه من مزاحم نمی شدم.

با احترام

لینک به ارسال

منظورم از فرقی نداره این نبود که دوتاش یکی هستند

فایلی که ویرایش می کنید اگر قبل از ویرایش به قالب معرفی شده باشه و قالب ازش تغذیه کنه بعد از ویرایش هم می کنه چه فایل توی قالب والد باشه چه توی قالب فرزند

(نکته: قالب والد و فرزندی برای اینکار نیست برای این است که چند نمونه ی مختلف از یک قالب داشته باشید و الا بر اساس مجوز انتشار GPL2 که وردپرس روش منتشر می شه شما آزادید قالبهاییی که از مخزن وردپرس دریافت می کنید را ویرایش کنید مشروط بر اینکه مشخصات اصلی قالب را تغییر بدید و فقط در شناسنامه اش قید کنید که قالب اصلی فلان قالب بوده و این معنیش اینه که اصولا بعد از انجام تغییرات قالب دیگه مشمول به روز رسانی ها نباید بشه چون حالا دیگه فرق کرده و اون قالب اولیه نیست ...)

لینک به ارسال

با سلام خدمت شما

اتفاقا بنده مشکلم دقیقا همین جاست که گفته شده "

فایلی که ویرایش می کنید اگر قبل از ویرایش به قالب معرفی شده باشه "

بنا بر اونچه که بنده بهش رسیدم تغییرات در avia-media.css موجود در پوسته والد اعمال و نشون داده میشه.(تست کردم و شد) اما وقتی همون فایل رو با همون نام و تغییر داده شده در پوسته فرزند می گذارم از پوسته فزرند چیزی بر نمی داره و میره پوسته والد.

االان بنده می خوام فایل

avia-media.css موجود در پوسته فزرند رو معرفی کنم تا از اونجا برداره

با ایمپورت کردن هم جواب نگرفتم.

ممنون میشم در این مورد راهنمایی نمایید.

البته این مورد رو هم جا داره بگم که فایل

avia-media.css موجود در پوسته والد درون چهار تا زیر پوشه هست که وقتی بنده با رعایت زیر پوشه ، همون پوشه ها رو هم در پوسته فرزند ایجاد می کنم باز هم مشکل حل نمیشه.

در صورتی که اطلاعات تکمیلی مورد نیاز بود بنده در خدمت هستم.

لینک به ارسال

شما یک پوشه داخل قالبتون می سازید و اسمش را می گذارید child یک فایل هم با نام child.css براش می سازید و تغییراتتون رو توش اعمال می کنید (نه هیچ زیر پوشه ی دیگری دقیقا توی روتش) و این کد را می گذارید در انتهای functions.php


wp_enqueue_style( 'child', get_template_directory_uri() . '/child/child.css' );

یا داخل تگ php می گذارید در header.php و قبل از بسته شدن تگ head

لینک به ارسال

شما یک پوشه داخل قالبتون می سازید و اسمش را می گذارید child یک فایل هم با نام child.css براش می سازید و تغییراتتون رو توش اعمال می کنید (نه هیچ زیر پوشه ی دیگری دقیقا توی روتش) و این کد را می گذارید در انتهای functions.php


wp_enqueue_style( 'child', get_template_directory_uri() . '/child/child.css' );

یا داخل تگ php می گذارید در header.php و قبل از بسته شدن تگ head

با سلام خدمت شما

این روش جواب داد !

ممنون از اینکه وقت گذاشتید

تغییراتی که گفته بودید رو اعمال کردم و به مشخصه مورد نظر با اعمال !important جواب گرفتم.

یه مورد دیگه ، من با استفاده ار آموزش های شما اومدم دستوراتی که دادید رو در پوشه فرزند دادم به صورت زیر :

<?php

wp_enqueue_style( 'child', get_template_directory_uri() . '../aks2aks-child/child/child.css' );

?>

موارد بالا رو در فایل فانشن فرزند ریختم.

پوشه و فایل child رو هم در پوسته فرزند ایجاد کردم

اما تو این حالت جواب نگرفتم.

کاری که کردم اشتباه بوده و از نظر علمی جواب نمیده؟ یا شدنیه؟

وظیفه عبارت child در جمله

( 'child', get_template_directory_uri()

چی هست؟ هر عبارت دیگه ای می تونیم بگذاریم ؟

با احترام

لینک به ارسال

کد را باید در functions.php قالب والد بگذارید

با سلام خدمت شما

با توجه به اینکه باید به تمام مقادیر موجود در فایل استایل child عبارت !important اضافه کنم. آیا راهی هست که تعریف کنم که تمام مقادیر فایل موررد نظر بالاترین اولویت رو داشته باشن و برای تک تک مقادیر !important رو وارد نکنم.

لینک به ارسال

استایل دهی پله کانی است

یعنی الویت پیش فرض با آخرین استایله

اگرفرض کنیم در style1.css رنگ زمینه مشکی باشه و در style2.css رنگ زمینه قرمز در حالت

[/size]
<link href="style1.css">
<link href="style2.css">

صفحه قرمز دیده می شه و در حالت


<link href="style2.css">
<link href="style1.css">

مشکی

جایی که کد را می گذارید اگر بعد از کد معرفی استایل والد باشه نیازی به تعریف اولویت ندارید

لینک به ارسال

استایل دهی پله کانی است

یعنی الویت پیش فرض با آخرین استایله

اگرفرض کنیم در style1.css رنگ زمینه مشکی باشه و در style2.css رنگ زمینه قرمز در حالت

[/size]
<link href="style1.css">
<link href="style2.css">

صفحه قرمز دیده می شه و در حالت


<link href="style2.css">
<link href="style1.css">

مشکی

جایی که کد را می گذارید اگر بعد از کد معرفی استایل والد باشه نیازی به تعریف اولویت ندارید

با سلام خدمت شما

بعد از اون کد و در انتهای فایل فانشن هست اما تا مفدار !important رو وارد نکنم تغییرات اعمال نمیشه.

لینک به ارسال

دوست عزیز پاسختون رو عرض کردم پاسخ های قبلی را با دقت بخونید و انجام بدید فراخوانی فایل استایل بندی کار خیلی ویژه و پیچیده ای نیست

کدها هم که نمی توانند هرجور دلشان بخواهد عمل کنند قانون کد ها کاملا مشخصه و همونیه که عرض شد اگر شما نمی تونید درست بچینیدشون و ازشون جواب بگیرید مطمئن باشید مشکل از طرف شماست و تنها راه حلش هم دقت نمودن به پاسخ هاتونه

لینک به ارسال
  • 1 سال بعد...

با سلام و خسته نباشید

دوستان من 4 تا فایل css دارم بنامهای rtl.css , style.css , main.css , bootstrap.css که دوتاش (rtl.css , style.css) توی روت قالب والدم هست و یه فلدر بنام assets که در این فلدر فلدر دیگری بنام stylesheets هم وجود داره در روت قالبم هست و در فلدر stylesheets اون دوتای دیگه فایلهای Css ام  یعنی (main.css, bootstrap.css)هستن.

حالا کدی که توی functins.php قالب فرزندم نوشتم برای ارث بری فایلهای css فرزند از پدر اینه:

<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
?>

که داره درست عمل میکنه برای style.css و rtl.css

اما نمیدونم حالا که توی قالب فرزند مسیر فایلهای main , bootstrap  رو شبیه سازی کردم و فلدرهای assets و stylesheets رو ایجاد کردم و اون دوتا main.css و bootstrap.css رو در فایل stylesheets قرار دادم باید چه تغییری توی فایل functions.php فرزند بدم تا فایلهای main.css و bootstrap هم اعمال بشن و درست عمل کنه؟

دوستان واقعا" به کمکتون احتیاج دارم. ممنونم میشم راهنماییم کنید.

ویرایش شده توسط saraet
لینک به ارسال

با سلام

از کد زیر استفاده کنید :

<?php wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/assest/نام پوشه/نام پوشه /file.css' ); ?>

موفق و پیروز باشید.

لینک به ارسال

سلام ممنونم از جوابگوییتون

من کد شما رو به کد function موجود در فایل functions.php خودم اضافه کردم و اینجور نوشتم:

<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_directory_directory_uri() . 'style.css' );
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/assets/stylesheets/main.css' );
}
?>

 

اما سایتم بالا نمیاد اینجوری مگر اینکه خط آخر فایل functions.php رو که شما فرموده بودین حذف کنم.

میشه راهنمایی کنید مشکل از کجاس؟ ممنونم

لینک به ارسال
در 7 ساعت قبل، saraet گفته است :

سلام ممنونم از جوابگوییتون

من کد شما رو به کد function موجود در فایل functions.php خودم اضافه کردم و اینجور نوشتم:

<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_directory_directory_uri() . 'style.css' );
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/assets/stylesheets/main.css' );
}
?>

 

اما سایتم بالا نمیاد اینجوری مگر اینکه خط آخر فایل functions.php رو که شما فرموده بودین حذف کنم.

میشه راهنمایی کنید مشکل از کجاس؟ ممنونم

با عرض سلام

کد زیر رو تست کنید :

<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', bloginfo('template_url') . 'style.css' );
    wp_enqueue_style( 'parent-style', bloginfo('template_url') . '/assets/stylesheets/main.css' );
}
?> 

موفق و پیروز باشید.

لینک به ارسال

سلام

مرسی از جوابگویی ها

من کد شمارو هم نوشتم باز main.css ام اجرا نمیشد .

اومدم فایل functions.php ام رو اینجور نوشتم فکر کنم الان همه رو داره میخونه

<?php

add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {

    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/assets/stylesheets/main.css' );
    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri() . '/assets/stylesheets/main.css',
        array('parent-style')
    );

    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/assets/stylesheets/bootstrap.css' );
    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri() . '/assets/stylesheets/bootstrap.css',
        array('parent-style')
    );

    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/rtl.css' );

    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri() . '/rtl.css',
        array('parent-style')
    );

}
?>

 

بنظر شما هم این کد درسته؟

لینک به ارسال

با عرض سلام

میتونید از کد زیر استفاده کنید. به نظرم این کد بهتره :

<?php 
function namespace_theme_stylesheets() {
    wp_register_style( 'mamies-wafers-bootstrap-min',  get_template_directory_uri() .'/css/bootstrap.min.css', array(), null, 'all' );
    wp_register_style( 'mamies-wafers-carousel',  get_template_directory_uri() .'/css/carousel.css', array(), null, 'all' );
    wp_register_style( 'mamies-wafers-style', get_stylesheet_uri(), '', null, 'all' );
    wp_enqueue_style( 'mamies-wafers-bootstrap-min' );
    wp_enqueue_style( 'mamies-wafers-carousel' );
    wp_enqueue_style( 'mamies-wafers-style' );
}
add_action( 'wp_enqueue_scripts', 'namespace_theme_stylesheets' );
?>

موفق و پیروز باشید.

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...