رفتن به مطلب

افزودن صفحه جداگانه به منو فهرست


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

سلام

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

اما وقتی از قسمت فهرست لینک فایل رو مینویسم موقع باز کردن اون لینک ارور 404 میده

لینک رو اینطوری میدم http://localhost/test/about.php

چیکار کنم که فایل رو بشناسه؟

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

کد خاصی لازم داره؟

لینک به ارسال

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

لینک به ارسال

اگر فایل متعلق به قالب هست طبیعتا باید لینکتون به این صورت باشه :

http://localhost/test/wp-content/themes/name/about.php

لینک به ارسال

ممنون اما ارور داد

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

احتمالا باید با فانکشن به قالب بشناسونیمش

چطوری این کار رو کنم؟

لینک به ارسال

بهتره از page template استفاده کنید

و برگه را اجرا کنید

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

نمیخوام لینک صفحه اینطوری بشه ?page_id=73

میخوام غیر این باشه که معلوم نشه از برگه هستش

مثلا site.com/about یا هر چیز دیگه ای

مثل ادرس صفحه افزونه ها

لینک به ارسال

اگر فایل خارج وردپرس هست باید فایلی مثل wp-blog-header درش فراخوانی کنید تا توابع وردپرس اجرا بشه

لینک به ارسال

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

نمیخوام لینک صفحه اینطوری بشه ?page_id=73

میخوام غیر این باشه که معلوم نشه از برگه هستش

مثلا site.com/about یا هر چیز دیگه ای

مثل ادرس صفحه افزونه ها

چرا حالت پیوند یکتا رو تغییر نمیدید؟

روش مرتضی هم درسته


define('WP_USE_THEMES', false);
$wp_root = dirname(__FILE__) .'/../../../';
if(file_exists($wp_root . 'wp-load.php')) {
require_once($wp_root . "wp-load.php");
} else if(file_exists($wp_root . 'wp-config.php')) {
require_once($wp_root . "wp-config.php");
} else {
exit;
}

لینک به ارسال

اگر فایل خارج وردپرس هست باید فایلی مثل wp-blog-header درش فراخوانی کنید تا توابع وردپرس اجرا بشه

چرا حالت پیوند یکتا رو تغییر نمیدید؟

روش مرتضی هم درسته


define('WP_USE_THEMES', false);
$wp_root = dirname(__FILE__) .'/../../../';
if(file_exists($wp_root . 'wp-load.php')) {
require_once($wp_root . "wp-load.php");
} else if(file_exists($wp_root . 'wp-config.php')) {
require_once($wp_root . "wp-config.php");
} else {
exit;
}

ببخشید من php زیاد بلد نیستم الان باید اینجا ادرس قالب رو بدم ؟ $wp_root = dirname(__FILE__) .'/../../../';

یا نباید به کد دست بزنم ؟

چون این کد رو هم گذاشتم باز ارور داد و توابع رو نشناخت

لینک به ارسال

فایل رو باید بزارید در روت

این خط رو هم حذف کنید


$wp_root = dirname(__FILE__) .'/../../../';

لینک به ارسال

باز هم نشد

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

این کد رو هم داخل حلقه گذاشتم

اما بازم ارور داد

این کد صفحه من هست :


<?php
/*
Theme: ---
Created: October 2013
Author: ---.
URL: --
Template Name: Test.
*/
get_header(); ?>
<?php wp_list_categories($args); ?>
<h1> تست6 </h1>
<?php wp_list_cats('sort_column=id&hide_empty=0&optioncount=0&use_desc_for_title=0&child_of=22'); ?>
<h1> تست5 </h1>
<?php wp_list_cats('sort_column=id&hide_empty=0&optioncount=0&use_desc_for_title=0&child_of=25'); ?>
<h1> تست4 </h1>
<?php wp_list_cats('sort_column=id&hide_empty=0&optioncount=0&use_desc_for_title=0&child_of=28'); ?>
<h1> تست3 </h1>
<?php wp_list_cats('sort_column=id&hide_empty=0&optioncount=0&use_desc_for_title=0&child_of=33'); ?>
<h1> تست2 </h1>
<?php wp_list_cats('sort_column=id&hide_empty=0&optioncount=0&use_desc_for_title=0&child_of=40'); ?>
<?php get_footer(); ?>
<?php define('WP_USE_THEMES', false);
if(file_exists($wp_root . 'wp-load.php')) {
require_once($wp_root . "wp-load.php");
} else if(file_exists($wp_root . 'wp-config.php')) {
require_once($wp_root . "wp-config.php");
} else {
exit;
} ?>

لینک به ارسال

ممنون لود شدش

اما بالای سایت ارور میادش و به این دو خط گیر میده :


require_once($wp_root . "wp-load.php");
} else if(file_exists($wp_root . 'wp-config.php')) {

لینک به ارسال

اون رو هم وقتی پاک میکنم کلا صفحه میره و ارور میده

اروری هم که الان میده اینه

post-2747-0-80912200-1383000223_thumb.jp

خط 2 و 3 هم اینه


if(file_exists($wp_root . 'wp-load.php')) {
require_once($wp_root . "wp-load.php");

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

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

خیلی ممنون از راهنمای خوبتون ;)


<?php include('wp-load.php'); ?>

لینک به ارسال

هر کاری می کنم نمیشه برای صفحه عنوان قرار داد

من الان این کد رو میزنم اما عنوان برای صفحه نمیزنه


<title>
فروشگاه ها | مرکز خرید سانلی
</title>

برای فایل هدر هم این کد رو برای عنوان نوشتم :


<title>
<?php if (is_home () ) { bloginfo('name'); } elseif ( is_category() ) { single_cat_title(); echo ' - ' ; bloginfo('name'); }
elseif (is_single() ) { single_post_title(); }
elseif (is_page() ) { bloginfo('name'); echo ': '; single_post_title(); }
else { wp_title('',true); }
?>
</title>

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

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

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

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

<?php wp_list_categories($args); ?>

<h1> تست6 </h1>

<?php wp_list_cats('sort_column=id&hide_empty=0&optioncount=0&use_desc_for_title=0&child_of=22'); ?>

<h1> تست5 </h1>

<?php wp_list_cats('sort_column=id&hide_empty=0&optioncount=0&use_desc_for_title=0&child_of=25'); ?>

<h1> تست4 </h1>

<?php wp_list_cats('sort_column=id&hide_empty=0&optioncount=0&use_desc_for_title=0&child_of=28'); ?>

<h1> تست3 </h1>

<?php wp_list_cats('sort_column=id&hide_empty=0&optioncount=0&use_desc_for_title=0&child_of=33'); ?>

<h1> تست2 </h1>

<?php wp_list_cats('sort_column=id&hide_empty=0&optioncount=0&use_desc_for_title=0&child_of=40'); ?>

خب شما از همون روش قدیمی ساخت قالب جدا برای برگه ها استفاده می کردین و این محتوا رو توی اون فایل php قرارمیدادین و به هر اسمی می خواستین سیو می کردین بعد از طریق مدیریت یک برگه جدید میساختین و قالب مورد نظر رو بهش میدادین و دیگه تموم بود !

لینک به ارسال

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

<?php wp_list_categories($args); ?>

<h1> تست6 </h1>

<?php wp_list_cats('sort_column=id&hide_empty=0&optioncount=0&use_desc_for_title=0&child_of=22'); ?>

<h1> تست5 </h1>

<?php wp_list_cats('sort_column=id&hide_empty=0&optioncount=0&use_desc_for_title=0&child_of=25'); ?>

<h1> تست4 </h1>

<?php wp_list_cats('sort_column=id&hide_empty=0&optioncount=0&use_desc_for_title=0&child_of=28'); ?>

<h1> تست3 </h1>

<?php wp_list_cats('sort_column=id&hide_empty=0&optioncount=0&use_desc_for_title=0&child_of=33'); ?>

<h1> تست2 </h1>

<?php wp_list_cats('sort_column=id&hide_empty=0&optioncount=0&use_desc_for_title=0&child_of=40'); ?>

خب شما از همون روش قدیمی ساخت قالب جدا برای برگه ها استفاده می کردین و این محتوا رو توی اون فایل php قرارمیدادین و به هر اسمی می خواستین سیو می کردین بعد از طریق مدیریت یک برگه جدید میساختین و قالب مورد نظر رو بهش میدادین و دیگه تموم بود !

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

اما من میخوام یه صفحه اختصاصی به سیستم اضافه کنم که خدا رو شکر با کمک دوستان حرفه ای اینجا تونستیم بسازیم

حالا مونده عنوان صفحه که در کدهای هدر من مشکل هست

یعنی یه شرط کم داره

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

یا هم برای همه صفحات به جز این چند تایی که ذکر شده این عنوان رو بزن


<title>
<?php if (is_home () ) { bloginfo('name'); } elseif ( is_category() ) { single_cat_title(); echo ' - ' ; bloginfo('name'); }
elseif (is_single() ) { single_post_title(); }
elseif (is_page() ) { bloginfo('name'); echo ': '; single_post_title(); }
else { wp_title('',true); }
?>
</title>

دوستانی که میدونن چه کدی باید بهش اضافه کنم ممنون میشم

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

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


else { wp_title('',true); }

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

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


http://www.site.com/about.php

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

این صفحه که طراحی کردم قالبش جدا طراحی شده

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


<?php include('wp-load.php'); ?>

اما یه مشکلی هست اینکه عنوانی که من برای صفحه مینویسم رو نمیاره

و مشکلش هم این کدی هست که در هدر گذاشتم


<title>
<?php if (is_home () ) { bloginfo('name'); } elseif ( is_category() ) { single_cat_title(); echo ' - ' ; bloginfo('name'); }
elseif (is_single() ) { single_post_title(); }
elseif (is_page() ) { bloginfo('name'); echo ': '; single_post_title(); }
else { wp_title('',true); }
?>
</title>

وقتی این کد رو حذف میکنم عنوان میادش

اما من نمیخوام این کد رو حذف کنم چون در صفحات مختلف نام سایت رو در کنار عنوان اون صفحه می نویسه

لینک به ارسال

ببینید این یک صفحه ثابت هست

فقط شما عنوان ثابت رو در بین تگ title قرار دهید

لینک به ارسال

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

اون کدهای هدر بودش

اینم کدهایی که من در فایل ثابتی گذاشتم


<?php include('wp-load.php'); ?>
<?php
/*
Theme: ---
Created: October 2013
Author: ---
URL: --
Template Name: --
*/
get_header(); ?>
<title>عنوان صفحه</title>

اما هیچ عنوانی رو نشون نمیده فقط لینک صفحه رو بجای عنوان می نویسه

وقنی هم سورس صفحه رو می بینم اینطوریه

<title> </title>

خالیه

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

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

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

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

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

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

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

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

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

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