رفتن به مطلب

سازگار كردن افزونه EDD با قالب 2012 وردپرس


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

سلام

من افزونه فروش فايل EASY DIGITAL DOWNLOADS را نصب كردم براي فروش فايل.

قالب نصب شده روي وردپرسم ، قالب 2012 ميباشد.

ميخوام وقتي كه تو كنترل پنل افزونه بالا يك پست مخصوص فروش فايل ميزنم داخل قالب 2012 نشون داده بشه.

هر چقدر تو مستندات سايت افزونه دنبال كد مخصوص اين كار گشتم پيدا نكردم.

فكر كنم كدي باشه كه بايد داخل فايل single.php قالب جايگزين the-content كرد.

از دوستان متخصص درخواست راهنمايي دارم. :)

لینک به ارسال

شما برای هر پستی میتونید خرید رو قرار بدید

اینکه مشکلی نیست

لینک به ارسال

لینک افزونه را در سایت وردپرس بگذارید یا خودتان نام post_type را بیابید و از single.php و archive.php کپی بگیرید با نام های single-[post_type].php و archive-[post_type].php ذخیره کنید

لینک به ارسال

با سلام و تشكر از شما بابت پاسخ دادنتون.

آدرس سايت مستندات افزونه :https://easydigitaldownloads.com/documentation

فكر كنم نام post_type اين افزونه download باشه

اگه كاري كه در بالا گفتي رو انجام بدم بعد ميتونم single.php و archive.php رو حذف كنم؟

يعني ميخوام ديگه نوشته معمولي تو سايت نذارم و فقط پست از نوع اين افزونه باشه.

لینک به ارسال

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

لینک به ارسال

سلام

من يه جورايي گيج شدم نميدونم چه اطلاعاتي به ژنراتور بايد داد و كد ساخته شده رو بايد كجا كپي كرد.

ببين اين افزونه بقير از خود وردپرس براي خودش بخش هاي نوشته و دسته بندي و تگ و ... داره .

من ميخوام قالبم رو طوري ويرايش كنم كه ديگه كلا از بخش مطالب خود وردپرس استفاده نكنم چون قراره سايتم فقط داخلش محصول قرار بگيره.

براي اينكه بيشتر متوجه بشي يك تصوير از مديريت گرفتم:

jkcc.png

بايد چه كوئري اي بسازم؟

لینک به ارسال

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

لینک به ارسال

سلام

دو تا فايل single-download.php و archive-download.php را ساختم همراه با كوئري زير


<?php
$download = new WP_Query(array(
'post_status' =>'publish',
'post_type' =>'post',
'order' =>'descending',
'orderby' =>'ID',
'posts_per_page' =>'5',

'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
));
?>

و يك سري تغيير ديگه و فايل پوسته رو براتون پيوست كردم ببين چرا كار نميكنه؟

http://uploadkon.ir/?file=twentytwelve.zip

لینک به ارسال

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

و این کوئری را برای post_type پست ساختید نام پست تایپتون را در ژنراتور جایگزین کنید

لینک به ارسال

سلام

ببين اين كامل تر نيست؟


<?php
$custom_query = new WP_Query(array(
'post_status' =>'published',
'post_type' =>'post',
'order' =>'descending',
'orderby' =>'ID',
'cat' =>'61',
'posts_per_page' =>'5',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
));
?>
<ul>
<?php if($custom_query->have_posts()) :
while($custom_query->have_posts()) : $custom_query->the_post();?>
<li><strong><?php the_title(); ?></strong>
<a class="links" href="<?php the_permalink(); ?>"> پیوند یکتا</a>
<div class="post" id="post<?php echo the_ID();?>">
<?php the_content(); ?>
</div>
</li>
<?php endwhile;endif;?>
</ul>
<?php wp_reset_query(); ?>

لینک به ارسال

سلام اين كار رو كردم يك چنين اروري داد


Fatal error: Call to a member function have_posts() on a non-object in C:\AppServ\www\wp\wp-content\themes\twentytwelve\single-download.php on line 16

خط 16 single-download.php :


<?php
if($download->have_posts()) :
while($download->have_posts()) : $download->the_post();
?>

در صفحه اصلي هم چيزي نمايش داده نشد. ديگه مشكل از كجاست؟

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

دوست عزیز

شما محتویات صفحه را نباید تنغییر دهید

لطفا عین کاری که گفته می شه را انجام دهید

1. از صفحه single.php یک کپی تهیه کنید به نام single-download.php

2. از صفحه archive.php یک کپی به نام archive-download.php

)به محتویات هیچکدام دست نبرید )

3. در صفحه index.php

کوئری


<?php
$custom_query = new WP_Query(array(
'post_status' =>'published',
'post_type' =>'download',
'order' =>'descending',
'orderby' =>'ID',
'cat' =>'61',
'posts_per_page' =>'5',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
));
?>
<ul>
<?php if($custom_query->have_posts()) :
while($custom_query->have_posts()) : $custom_query->the_post();?>
<li><strong><?php the_title(); ?></strong>
<a class="links" href="<?php the_permalink(); ?>"> پیوند یکتا</a>
<div class="post" id="post<?php echo the_ID();?>">
<?php the_content(); ?>
</div>
</li>
<?php endwhile;endif;?>
</ul>
<?php wp_reset_query(); ?>

را بجای حلقه فعلی قرار دهید

همین هیچکدام از کدها را هم سر خود دستکاری نکنید

لینک به ارسال

كد index.php ببين مشكل كجاست كه باز هم نمايش داده نميشه؟


<?php
get_header(); ?>
<div id="primary" class="site-content">
<div id="content" role="main">

<?php
$custom_query = new WP_Query(array(
'post_status' =>'published',
'post_type' =>'download',
'order' =>'descending',
'orderby' =>'ID',
'cat' =>'61',
'posts_per_page' =>'5',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
));
?>
<?php if($custom_query->have_posts()) :?>
<?php while($custom_query->have_posts()) : $custom_query->the_post();?>
<?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>
<?php twentytwelve_content_nav( 'nav-below' ); ?>
<?php else : ?>
<article id="post-0" class="post no-results not-found">
<?php if ( current_user_can( 'edit_posts' ) ) :
// Show a different message to a logged-in user who can add posts.
?>
<header class="entry-header">
<h1 class="entry-title"><?php _e( 'No posts to display', 'twentytwelve' ); ?></h1>
</header>
<div class="entry-content">
<p><?php printf( __( 'Ready to publish your first post? <a href="%s">Get started here</a>.', 'twentytwelve' ), admin_url( 'post-new.php' ) ); ?></p>
</div><!-- .entry-content -->
<?php else :
// Show the default message to everyone else.
?>
<header class="entry-header">
<h1 class="entry-title"><?php _e( 'Nothing Found', 'twentytwelve' ); ?></h1>
</header>
<div class="entry-content">
<p><?php _e( 'Apologies, but no results were found. Perhaps searching will help find a related post.', 'twentytwelve' ); ?></p>
<?php get_search_form(); ?>
</div><!-- .entry-content -->
<?php endif; // end current_user_can() check ?>
</article><!-- #post-0 -->
<?php endif; // end have_posts() check ?>
</div><!-- #content -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>

لینک به ارسال

تست کنید

<?php

/**

* The main template file.

*

* This is the most generic template file in a WordPress theme

* and one of the two required files for a theme (the other being style.css).

* It is used to display a page when nothing more specific matches a query.

* For example, it puts together the home page when no home.php file exists.

*

* Learn more: http://codex.wordpress.org/Template_Hierarchy

*

* @package WordPress

* @subpackage Twenty_Twelve

* @since Twenty Twelve 1.0

*/

get_header(); ?>

<div id="primary" class="site-content">

<div id="content" role="main">

<?php if ( have_posts() ) : ?>

<?php /* Start the Loop */ ?>

<?php

$custom_query = new WP_Query(array(

'post_status' =>'published',

'post_type' =>'download',

'order' =>'descending',

'orderby' =>'ID',

'posts_per_page' =>'10',

'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1

));

?>

<?php if($custom_query->have_posts()) :?>

<?php while($custom_query->have_posts()) : $custom_query->the_post();?>

<?php get_template_part( 'content', get_post_format() ); ?>

<?php endwhile; ?>

<?php twentytwelve_content_nav( 'nav-below' ); ?>

<?php else : ?>

<article id="post-0" class="post no-results not-found">

<?php if ( current_user_can( 'edit_posts' ) ) :

// Show a different message to a logged-in user who can add posts.

?>

<header class="entry-header">

<h1 class="entry-title"><?php _e( 'No posts to display', 'twentytwelve' ); ?></h1>

</header>

<div class="entry-content">

<p><?php printf( __( 'Ready to publish your first post? <a href="%s">Get started here</a>.', 'twentytwelve' ), admin_url( 'post-new.php' ) ); ?></p>

</div><!-- .entry-content -->

<?php else :

// Show the default message to everyone else.

?>

<header class="entry-header">

<h1 class="entry-title"><?php _e( 'Nothing Found', 'twentytwelve' ); ?></h1>

</header>

<div class="entry-content">

<p><?php _e( 'Apologies, but no results were found. Perhaps searching will help find a related post.', 'twentytwelve' ); ?></p>

<?php get_search_form(); ?>

</div><!-- .entry-content -->

<?php endif; // end current_user_can() check ?>

</article><!-- #post-0 -->

<?php endif; // end have_posts() check ?>

</div><!-- #content -->

</div><!-- #primary -->

<?php get_sidebar(); ?>

<?php get_footer(); ?>

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

لینک به ارسال

سلام

تشكر بابت راهنماييتون با كوئري زير مشكلم حل شد:


<?php
$args = array (
'post_type' => 'download',
'posts_per_page' => '12',
'posts_per_archive_page' => '64',
'order' => 'DESC',
'orderby' => 'id',
);
$dlquery = new WP_Query( $args );
if ( $dlquery->have_posts() ) {
while ( $dlquery->have_posts() )
{
$dlquery->the_post();
get_template_part( 'content', get_post_format() );
twentytwelve_content_nav( 'nav-below' );
}
} else {
get_template_part( 'content-none', '');
}
wp_reset_postdata();
?>

فقط به جاي single-download.php من content-download.php رو ساختم . و الان يك مشكلي دارم.

آدرس اين post_type ناجور هست به اين صورت:

http://localhost/wp/?download=sample

من نميخوام اينجوري باشه . ميخوام طوري باشه كه قبل از عنوان پست در url موضوع پست نوشته بشه كه موضوع پست هم مثل خود پست اختصاصي هست يعني از موضوعات خود وردپرس جدا هست.

فكر كنم من بايد 3 فايل ديگه به پوسته به صورت زير اضافه كنم :

single-download.php

taxonomy-download_category.php

taxonomy-download_tag.php

بايد چكار كنم؟

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

دستان اينجا هم كلي آموزش اين كار رو داده با مثال ولي من نميدونم كجا بايد كد ها رو قرار بدم

راهنمايي كنيد لطفا

http://wp.tutsplus.com/tutorials/creative-coding/the-rewrite-api-post-types-taxonomies/

لینک به ارسال

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

لینک به ارسال

نه مشكلم حل شد.

تو انجمن اصلي افزونه تاپيك باز كردم و سريع جوابمو دادند.

نيازي به فعال كردنrewrite نيست.

همون پيوند هاي يكتا رو بايد تغيير بدي.

اينم لينك تاپيك اصلي:

https://easydigitaldownloads.com/support/topic/change-the-download-post-permalink

لینک به ارسال

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

لینک به ارسال

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

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

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

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

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

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

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

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

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