در حال نمایش 10 نوشته - 1 تا 10 (از کل 10)
  • نویسنده
    نوشته ها
  • #28068

    Nasser
    مشارکت کننده

    سلام
    رو سایتم میخواستم روی تامب نیل ها به صورت عکس یا نوشته بج یا برچسب بزارم، مثل جدید ، پرفروش ترین ، اورگانیک ، بدون افزودنی و و و . میخواستم ببینم باید از چه افزونه ای استفاده کنم یا اینکه تو خود وردپرس جایی هست که این کار رو انجام بدم؟ در ضمن سایتم ووکامرس نیست.

    نمونه تو عکس

    http://viny.ir/wp-content/uploads/2015/04/thumbs.jpg

    #28078

    سعید شعبانی
    کلید دار

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

    مثلا ابتدا به شکل زیر یک زمینه دلخواه به اسم rokesh_rate ایجاد کنید و در پست ها مقدار اون را 1 یا 2 یا 3 یا 4 قرار بدید. بعد به شکل زیر بررسی کنید اگر مقدار اون زمینه دلخواه مثلا 1 بود عبارت جدید چاپ بشه اگر مقدارش 2 بود عبارت پرفروش چاپ بشه و به همین ترتیب با قرار دادن یک مقدار برای اون زمینه دلخواه یک متن یا کد را در قالب چاپ کنید.

    <?php 
    $rokesh_rate = get_post_meta($post->ID, "rokesh_rate", true);
    if( $rokesh_rate == '1' ) : ?>
    جدید
    <?php elseif( $rokesh_rate == '2' ) : ?>
    پرفروش
    <?php elseif( $rokesh_rate == '3' ) : ?>
    بیشترین بازدید
    <?php elseif( $rokesh_rate == '4' ) : ?>
    گزارش عملکرد
    <?php endif; ?>
    #28101

    Nasser
    مشارکت کننده

    ممنون از راهنماییتون.
    من این کد رو تو صفحه page.php قرار دادم

    و کد <?php echo get_post_meta($post->ID, "rokesh_rate", true); ?> رو تو category.php

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

    رو تصویر توضیح دادم

    http://enopa.ir/wp-content/uploads/2015/04/test.jpg

    #28104

    سعید شعبانی
    کلید دار

    خوب اول اینکه شما اومدید و مقدار زمینه ذلخواه را با دستور echo به صورت مستقیم چاپ کردید. در حالی که ما باید مقدار این زمینه دلخواه را ابتدا درون یک متغییر مثلا rokesh_rate ذخیره کنیم و بعد با دستور شرطی if مقدار اون را برررسی کنیم که اگر مثلا 1 بود یک عبارت یا کد ثابت را چاپ کنه, اگر 2 بود چیز دیگری و به همین ترتیب. دقیقا به همون شکلی که در بالا گفتم می تونید از این دستور شرطی استفاده کنید.
    اما در مورد محل قرارگیری این کد باید عرض کنم که بستگی به قالبی که استفاده می کنید و همچنین جایی که می خواهید این عبارات قرار بگیرند دارد. اسم قالبی که استفاده می کنید را بفرمایید تا در این مورد بیشتر بتونم راهنمایی کنم.
    در مورد قرار گرفتن اون متن روی تصویر هم باید از دستورات css استفاده کنید. بهترین روش هم این هست که شما position المانی که اون نوشته درونش قرار گرفته را relative قرار بدید و position خود نوشته را absolute و بعد مختصات اون را با left, right, top و bottom تعیین کنید.

    #28107

    Nasser
    مشارکت کننده

    منم دقیقا همین کدی که شما فرمودید رو قرار دادم ، تو هر صفحه ای گذاشتم مشکل داشت به جز Page.php
    محل قراردادن کد تو صفحه پیج باید باشه؟ یا فایلهای دیگه؟
    مشکلی که هست اینه که حالا چظور باید فراخوانی کنم؟
    داخل نوشته، قسمت زمینه دلخواه rokesh_rate رو انتخاب کردم و مقدارش رو 1 گذاشتم. ولی چیزی ثبت نمیشه!!!!!!!!
    اگه امکان داره توضیح واضحتر بدید که کد ها تو چه فایلی و تو چه محلی باید قرار بگیره و فراخوانیش به چه شکلی باید باشه؟
    الان رو سایت پوسته اوریجینال خود وردپرس دوهزار و پانزده رو گذاشتم. اگه میشه رو همین قالب برام توضیح بدید که فایلهای استاندارد خود وردپرس هست.
    http://enopa.ir

    #28109

    سعید شعبانی
    کلید دار

    به خاطر اینکه برای فراخوانی اطلاعات زمینه دلخواه rokesh_rate ما نیاز به id نوشته داریم باید از این کد داخل حلقه استفاده بشه. اول شما برای ثبت زمینه دلخواه در صفحه پست در بخش زمینه های دلخواه دکمه افزودن را بزنید. سپس مطابق تصویر زیر در فیلد نام اسم زمینه دلخواه که در اینجا rokesh_rate هست را وارد کنید و در فیلد مقدار, مقدار زمینه دلخواه ( مثلا 1, 2 و … ) را وارد کنید.

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

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

    get_post_meta($post->ID, "rokesh_rate", true);

    این تابع با توجه به ID نوشته فعلی مقدار زمینه دلخواه را از دیتابیس فراخوانی می کنه که ما می آییم و اون را داخل یک متغییر به اسم rokesh_rate ذخیره می کنیم که بتونیم بعدا داخل دستورات شرطی از اون استفاده کنیم.


    حالا در مورد نحوه استفاده از این کدها داخل پوسته 2015 وردپرس توضیح می دهم. می تونید همین روش را برای پوسته های دیگه هم پیاده سازی کنید.

    اول برای یکی از مطالب به همین صورت که گفتم مقدار 1 را برای زمینه دلخواه rokesh_rate ثبت و نوشته را بروز کنید. بعد وارد فایل content.php بشید و بعد از خط <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> این کدها را قرار بدید.

    <?php
    $rokesh_rate = get_post_meta($post->ID, "rokesh_rate", true);
    if( $rokesh_rate == '1' ) : ?>
    	<p class="rokesh-rate">جدید</p>
    <?php elseif( $rokesh_rate == '2' ) : ?>
    	<p class="rokesh-rate">پرفروش</p>
    <?php elseif( $rokesh_rate == '3' ) : ?>
    	<p class="rokesh-rate">بیشترین بازدید</p>
    <?php elseif( $rokesh_rate == '4' ) : ?>
    	<p class="rokesh-rate">گزارش عملکرد</p>
    <?php endif; ?>

    حالا فایل content.php را ذخیره کنید و نوشته ای که مقدار 1 را برای زمینه دلخواه rokesh-rate ثبت کردید را در سایت ببینید. خواهید دید که عبارت جدید در بالای اون نوشته ظاهر شده است. این مواردی که تا اینجا انجام شد در اصل تمام کار هست فقط می مونه ظاهر اون نوشته. اگر بخواهید این نوشته روی تصویر شاخص نوشته های قالب 2015 وردپرس قرار بگیره باید کد های css زیر را به انتهای فایل style.css این قالب اضافه کنید.

    .hentry{
    	position: relative;
    }
    .rokesh-rate {
        background: green;
        color: #fff;
        font-family: tahoma;
        font-size: 14px;
        font-weight: bold;
        line-height: initial;
        padding: 3px 10px;
        position: absolute;
        right: 15%;
        top: 10px;
    }
    #28121

    Nasser
    مشارکت کننده

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

    #28122

    سعید شعبانی
    کلید دار

    آقا ناصر ببخشید هنوز منظورتون از بج را نفهمیدم. ولی اگر بخواهید به جای این متن یک عکس ظاهر بشه به دو شکل می تونید این کار را انجام بدید.

    1- داخل شرط به جای نوشتن کلمه مثلا جدید از تگ img به شکل زیر استفاده کنید و آدرس تصویر را به جای image.jpg قرار بدید.

    <p class="rokesh-rate">
    	<img src="image.jpg" alt="توضیحات تصویر" />
    </p>

    2- از css استفاده کنید. به این شکل که اولا اون نوشته را پاک کنید بعد برای تگ p یک کلاس مجزا مثلا image تعریف کنید.

    <p class="rokesh-rate image"></p>

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

    .rokesh-rate.image{
        background: url(images/image.png) no-repeat 0 0 transparent;
        content: "";
        display: block;
        height: 20px;
        width: 20px;
    }
    #28132

    Nasser
    مشارکت کننده

    آقا واقعا ممنونم، همونی شد که می خواستم. البته باید روی پوسته اصلیم چک کنم ایشالا که اونجا ایرادی پیش نیاد تا بیشتر مزاحمت نشم.

    #28133

    سعید شعبانی
    کلید دار

    خواهش می کنم, اگر سوالی دیگری داشتید در خدمتم.

در حال نمایش 10 نوشته - 1 تا 10 (از کل 10)

کاربر گرامی برای پاسخ به این موضوع اگر عضو روکش هستید باید سایت شوید در غیر اینصورت باید عضو شوید.