shayan

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

14 پست در این موضوع قرار دارد

سلام دوستان

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

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

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

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

1

به اشتراک گذاری این پست


لینک به پست

شما میتونید از مجموعه عبارات 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

به اشتراک گذاری این پست


لینک به پست
در 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 هست ، برای اسکریپت ها چجوریه؟

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

بله این توابع رو تو فایل 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
2

به اشتراک گذاری این پست


لینک به پست
در 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">';
}

}

?>

 

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

چون شما داخل 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
1

به اشتراک گذاری این پست


لینک به پست
در 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

0

به اشتراک گذاری این پست


لینک به پست

خیر تازه گفتم ارور 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">';
}
}
?>

 

1

به اشتراک گذاری این پست


لینک به پست
در 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">';
}
}
?>

 

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

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

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

0

به اشتراک گذاری این پست


لینک به پست
در 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

 

 

1

به اشتراک گذاری این پست


لینک به پست
در 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">';
}
}
?>

0

به اشتراک گذاری این پست


لینک به پست
در 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>

 

1

به اشتراک گذاری این پست


لینک به پست
در در 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

0

به اشتراک گذاری این پست


لینک به پست
در 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>';

} ?> 

 

3

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری