رفتن به مطلب

محدود کردن محتوای تگ head


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

سلام دوستان

از اونجایی که محتوای هدر یک قالب تو فایل header.php تجمیع میشه و برای همه صفحات هم لحاظ میشه

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

یا برعکس تو همه صفحات باشن به غیر از صفحات مشخص دیگه

چیکار باید بکنم؟

لینک به ارسال

شما میتونید از مجموعه عبارات is که موقعیت را در وردپرس تشخیص میدن انجام بدید توابعی مانند :

is_home
is_single
is_page

و ...

مثلا اگر بخواهید اسکریپی رو فقط در صفحه اصلی سایت لود کنید باید عبارت زیر را بنویسید :

add_action('wp_head','load_css');
funtion load_css() {

if (is_home()) {
echo '<link rel="stylesheet" href"">';
}

}

 

این توابع رو تو مستندات وردپرس حتما مطالعه کنید جامع هستند.

لینک به ارسال
در 3 دقیقه قبل، Mazandaranweb گفته است :

شما میتونید از مجموعه عبارات is که موقعیت را در وردپرس تشخیص میدن انجام بدید توابعی مانند :

is_home
is_single
is_page

و ...

مثلا اگر بخواهید اسکریپی رو فقط در صفحه اصلی سایت لود کنید باید عبارت زیر را بنویسید :


add_action('wp_head','load_css');
funtion load_css() {

if (is_home()) {
echo '<link rel="stylesheet" href"">';
}

}

 

این توابع رو تو مستندات وردپرس حتما مطالعه کنید جامع هستند.

سپاس دوست عزیز

چند تا سوال

 

1- این توابع باید تو functions.php نوشته بشه دیگه درسته؟

2- اگر پیج کاستومی داشتم مثل singel-portfolio.php چطور باید عمل کنم؟

3- این نمونه کد شما برای لود css هست ، برای اسکریپت ها چجوریه؟

لینک به ارسال

بله این توابع رو تو فایل function.php بنویسید که خود به خود در تمامی صفحات لود بشن.

برا لود Js هم فرقی نداره میتونید داخل عبارت echo کد لود جاوا اسکریپ رو بنویسید.مثلا ما میخواهیم در برگه ی با آی 45 که مثلا صفحه تماس با ما شرکت هست اسکریپ گوگل مپ رو لود کنیم :


add_action('wp_head','load_js');
funtion load_js() {

if (is_page(45)) {
echo '<script src=""></script>';
}

}

 

اگر هم بخواهید کد جاوا اسکریپ رو پایین صفحه لود کنید نه در قسمت تگ head میتوایند بجای استفاده از اکش wp_head از اکشن wp_footerاستفاده کنید.

ویرایش شده توسط Mazandaranweb
لینک به ارسال
در 10 دقیقه قبل، Mazandaranweb گفته است :

بله این توابع رو تو فایل function.php بنویسید که خود به خود در تمامی صفحات لود بشن.

برا لود Js هم فرقی نداره میتونید داخل عبارت echo کد لود جاوا اسکریپ رو بنویسید.مثلا ما میخواهیم در برگه ی با آی 45 که مثلا صفحه تماس با ما شرکت هست اسکریپ گوگل مپ رو لود کنیم :



add_action('wp_head','load_js');
funtion load_js() {

if (is_page(45)) {
echo '<script src=""></script>';
}

}

 

اگر هم بخواهید کد جاوا اسکریپ رو پایین صفحه لود کنید نه در قسمت تگ head میتوایند بجای استفاده از اکش wp_head از اکشن wp_footerاستفاده کنید.

من الان یه همچین چیزی نوشتم

ولی به اولین خطی که url اسکریپت توش کار شده ارور داد !!

<?php
add_action('wp_head','load_js');
function load_js() {

if (is_home()) {
echo '<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/scrolloverflow.js"></script>';
}

}
add_action('wp_head','load_js');
function load_js() {

if (is_home()) {
echo '<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.fullPage.js"></script>';
}

}
add_action('wp_head','load_js');
function load_js() {

if (is_home()) {
echo '<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/fullscript.js"></script>';
}

}

add_action('wp_head','load_css');
function load_css() {

if (is_home()) {
echo '<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_url'); ?>/css/jquery.fullPage.css">';
}

}

?>

 

لینک به ارسال

چون شما داخل php دوباره تگ php باز کردین یعنی باید همه رو اینطوری کنید ببینید :

 

if (is_home()) {
echo '<link rel="stylesheet" type="text/css" href="'.get_bloginfo('template_url').'/css/jquery.fullPage.css">';
}

قسمت bloginfoرو تغییر دادم.

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

ویرایش شده توسط Mazandaranweb
لینک به ارسال
در 5 دقیقه قبل، Mazandaranweb گفته است :

چون شما داخل php دوباره تگ php باز کردین یعنی باید همه رو اینطوری کنید ببینید :

 


if (is_home()) {
echo '<link rel="stylesheet" type="text/css" href="'.get_bloginfo('template_url').'/css/jquery.fullPage.css">';
}

قسمت bloginfoرو تغییر دادم.

ماحصل کار این شد

<?php
add_action('wp_head','load_js');
function load_js() {
if (is_home()) {
echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/scrolloverflow.js"></script>';
}
}
add_action('wp_head','load_js');
function load_js() {
if (is_home()) {
echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/jquery.fullPage.js"></script>';
}
}
add_action('wp_head','load_js');
function load_js() {
if (is_home()) {
echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/fullscript.js"></script>';
}
}
add_action('wp_head','load_css');
function load_css() {
if (is_home()) {
echo '<link rel="stylesheet" type="text/css" href="'.get_bloginfo('template_url').'/css/jquery.fullPage.css">';
}
}
?>

با این ارور


Fatal error: Cannot redeclare load_js() (previously declared in C:\xampp\htdocs\wp-content\themes\Faraso\functions.php:170) in C:\xampp\htdocs\wp-content\themes\Faraso\functions.php on line 179

که 179 میشه خط 13

لینک به ارسال

خیر تازه گفتم ارور redeclare یعنی این که دو تابع با یک نام داریم شما این کد رو بزار :

 

<?php

add_action('wp_head','load_js');
function load_js() {
if (is_home()) {
echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/scrolloverflow.js"></script>';
echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/jquery.fullPage.js"></script>';
echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/fullscript.js"></script>';
}
}

add_action('wp_head','load_css');
function load_css() {
if (is_home()) {
echo '<link rel="stylesheet" type="text/css" href="'.get_bloginfo('template_url').'/css/jquery.fullPage.css">';
}
}
?>

 

لینک به ارسال
در 5 دقیقه قبل، Mazandaranweb گفته است :

خیر تازه گفتم ارور redeclare یعنی این که دو تابع با یک نام داریم شما این کد رو بزار :

 


<?php

add_action('wp_head','load_js');
function load_js() {
if (is_home()) {
echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/scrolloverflow.js"></script>';
echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/jquery.fullPage.js"></script>';
echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/fullscript.js"></script>';
}
}

add_action('wp_head','load_css');
function load_css() {
if (is_home()) {
echo '<link rel="stylesheet" type="text/css" href="'.get_bloginfo('template_url').'/css/jquery.fullPage.css">';
}
}
?>

 

سپاس دوست عزیز

انجام دادم ولی مکاکان تو صفحات دیگه هم که ویو سورس پیج رو میزنم کد ها فراخوانی شدن !!

مشکل از کجا میتونه باشه؟

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

سلام دوستان

از اونجایی که محتوای هدر یک قالب تو فایل header.php تجمیع میشه و برای همه صفحات هم لحاظ میشه

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

یا برعکس تو همه صفحات باشن به غیر از صفحات مشخص دیگه

چیکار باید بکنم؟

سلام ، با یه جستجو ساده توی انجمن به نتیجه می رسیدید، کافیه هرجایی که میخواین کد هاتون رو توی هرجایی (نه صرفاً داخل header.php) مشابه کد های زیر رو بذارید؛

 

برای مثال اگر میخواین فقط توی صفحه اصلی چاپ بشه:

is_home() {
 echo '<link rel=...';
}

 

یا اگر میخواین توی تعدادی پست این اتفّاق بیفته:

 is_single( array( 7, 191, 51, 1 ) ) {
 echo '<link rel=...'; 
}

پ.ن: اون اعداد آیدی های نوشته ها هستن ، یعنی در نوشته هایی که آیدیشون اون اعداد هست کد شما چاپ خواهد شد.

اگر میخواین توی page یا tag یا category و... چاپ کنید این کد ها رو میتونین به راهنمای زیر مراجعه کنید:

 

https://codex.wordpress.org/Conditional_Tags

 

 

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

سلام ، با یه جستجو ساده توی انجمن به نتیجه می رسیدید، کافیه هرجایی که میخواین کد هاتون رو توی هرجایی (نه صرفاً داخل header.php) مشابه کد های زیر رو بذارید؛

 

برای مثال اگر میخواین فقط توی صفحه اصلی چاپ بشه:


is_home() {
 echo '<link rel=...';
}

 

یا اگر میخواین توی تعدادی پست این اتفّاق بیفته:


 is_single( array( 7, 191, 51, 1 ) ) {
 echo '<link rel=...'; 
}

پ.ن: اون اعداد آیدی های نوشته ها هستن ، یعنی در نوشته هایی که آیدیشون اون اعداد هست کد شما چاپ خواهد شد.

اگر میخواین توی page یا tag یا category و... چاپ کنید این کد ها رو میتونین به راهنمای زیر مراجعه کنید:

 

https://codex.wordpress.org/Conditional_Tags

 

 

سپاس علی جان

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

اما مشکل اینجاست که این محتوایی که من طبق راهنمایی ها بدست آوردم عمل نمیکنن

 

<?php

add_action('wp_head','load_js');
function load_js() {
if (is_home()) {
echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/scrolloverflow.js"></script>';
echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/jquery.fullPage.js"></script>';
echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/fullscript.js"></script>';
}
}

add_action('wp_head','load_css');
function load_css() {
if (is_home()) {
echo '<link rel="stylesheet" type="text/css" href="'.get_bloginfo('template_url').'/css/jquery.fullPage.css">';
}
}
?>

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

سپاس علی جان

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

اما مشکل اینجاست که این محتوایی که من طبق راهنمایی ها بدست آوردم عمل نمیکنن

 

<?php

add_action('wp_head','load_js');
function load_js() {
if (is_home()) {
echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/scrolloverflow.js"></script>';
echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/jquery.fullPage.js"></script>';
echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/fullscript.js"></script>';
}
}

add_action('wp_head','load_css');
function load_css() {
if (is_home()) {
echo '<link rel="stylesheet" type="text/css" href="'.get_bloginfo('template_url').'/css/jquery.fullPage.css">';
}
}
?>

خیر متوجّه عرض بنده نشدید ، منظور من اینکه نیازی به هیچ کدوم از add_action ها نیست، شما همون کدی رو که من دادم هرجایی که نیاز هست چاپ بشه اسکریپت ها یا فایل های CSS بنویسید ، کار خودش رو انجام میده ، مثلاً:

<head>

<?php if(is_single ( 5 )) {

echo '<link rel="stylesheet" href="">';

} ?>

</head>

 

لینک به ارسال
در در 6/4/2016 at 22:24، علی زینلی گفته است :

سلام ، با یه جستجو ساده توی انجمن به نتیجه می رسیدید، کافیه هرجایی که میخواین کد هاتون رو توی هرجایی (نه صرفاً داخل header.php) مشابه کد های زیر رو بذارید؛

 

برای مثال اگر میخواین فقط توی صفحه اصلی چاپ بشه:


is_home() {
 echo '<link rel=...';
}

 

یا اگر میخواین توی تعدادی پست این اتفّاق بیفته:


 is_single( array( 7, 191, 51, 1 ) ) {
 echo '<link rel=...'; 
}

پ.ن: اون اعداد آیدی های نوشته ها هستن ، یعنی در نوشته هایی که آیدیشون اون اعداد هست کد شما چاپ خواهد شد.

اگر میخواین توی page یا tag یا category و... چاپ کنید این کد ها رو میتونین به راهنمای زیر مراجعه کنید:

 

https://codex.wordpress.org/Conditional_Tags

 

 

اینو استفاده کردم

<?php
is_home (){

echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/jquery.fullPage.js"></script>';

} ?>

 

این ارور رو داد

Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\wp-content\themes\Faraso\header.php on line 22

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

اینو استفاده کردم

<?php
is_home (){

echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/jquery.fullPage.js"></script>';

} ?>

 

این ارور رو داد

Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\wp-content\themes\Faraso\header.php on line 22

امتحان کنید:

 <?php
if( is_home () ){

echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/js/jquery.fullPage.js"></script>';

} ?> 

 

لینک به ارسال

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

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

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

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

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

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

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

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

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