اظافه کردن تصویر شاخص به کد

harbiline

Edris
10/10/13
858
119
43
Gilan
cpfa.ir
اقا به این کده تصویر شاخص رواظافه کنید
برای ووکامرس هستش

اسیر شدم از دستش نمیشه.
PHP:
<?php
$rss = new DOMDocument();
$rss->load('http://helooo.ir/feed/?post_type=product');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array (
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,

);
array_push($feed, $item);
}
$limit = 5;
for($x=0;$x<$limit;$x++) {
$title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
$link = $feed[$x]['link'];
$description = $feed[$x]['desc'];
$date = date('l F d, Y', strtotime($feed[$x]['date']));

   echo '<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />';
}


?>
 

linuxmint

کاربر عضو
13/1/12
87
32
18
linux
به صورت پیشفرض تصویر شاخص در خروجی rss وجود نداره. اگر به فروشگاه مورد نظرتون برای خوندن اطلاعات دسترسی دارید می تونید از روش زیر استفاده کنید.
کد زیر رو به فایل functions.php قالب سایتی که می خواین محصولات رو ازش بخونید اضافه کنید تا فیلد تصویر شاخص اضافه بشه.
PHP:
function add_image_to_rss() {
    if ( has_post_thumbnail( get_the_ID() ) ){
        echo '<image>' . get_the_post_thumbnail_url( get_the_ID(), 'thumbnail' ) . '</image>';
    }
}
add_action('rss2_item', 'add_image_to_rss');
بعد از اضافه کردن کد بالا فیلد image برای خوندن تصویر شاخص در دسترس است. در نهایت به کد خودتون خط زیر رو اضافه کنید.
PHP:
'image' => $node->getElementsByTagName('image')->item(0)->nodeValue,
 
آخرین ویرایش:
  • Like
Reactions: جاویدان

harbiline

Edris
10/10/13
858
119
43
Gilan
cpfa.ir
به صورت پیشفرض تصویر شاخص در خروجی rss وجود نداره. اگر به فروشگاه مورد نظرتون برای خوندن اطلاعات دسترسی دارید می تونید از روش زیر استفاده کنید.
کد زیر رو به فایل functions.php قالب سایتی که می خواین محصولات رو ازش بخونید اضافه کنید تا فیلد تصویر شاخص اضافه بشه.
PHP:
function add_image_to_rss() {
    if ( has_post_thumbnail( get_the_ID() ) ){
        echo '<image>' . get_the_post_thumbnail_url( get_the_ID(), 'thumbnail' ) . '</image>';
    }
}
add_action('rss2_item', 'add_image_to_rss');
بعد از اضافه کردن کد بالا فیلد image برای خوندن تصویر شاخص در دسترس است. در نهایت به کد خودتون خط زیر رو اضافه کنید.
PHP:
'image' => $node->getElementsByTagName('image')->item(0)->nodeValue,


با تشکر از شما ولی کار نکردش.
 

linuxmint

کاربر عضو
13/1/12
87
32
18
linux
با تشکر از شما ولی کار نکردش.
خیلی کلی پاسخ دادید!
بنده این مورد رو تست کردم و بدون مشکل جواب داده.
اگر مشکل از عدم دسترسی به فروشگاه برای درج کد هستش، می تونید از REST API فروشگاه استفاده کنید. البته اگر محدود نشده باشه.
 
  • Like
Reactions: جاویدان

harbiline

Edris
10/10/13
858
119
43
Gilan
cpfa.ir
نه دسترسی به فروشگاه دارم دوتا سایت مجزا من درست کردم..
که دارم تست میگیرم
ولی تو سایتی که محصول هستش و کدی ک دادید رو زدم
تو سایتی ک میخوام نشون بده هم کدهimg رو زدم اما عکسی نیومد فقط متن میده..


PHP:
<?php /* Template Name: تماس باما */ ?>



<?php
$rss = new DOMDocument();
$rss->load('http://cpfa.ir/widgets/feed/?post_type=product');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array (
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
'image' => $node->getElementsByTagName('image')->item(0)->nodeValue,
);
array_push($feed, $item);
}
$limit = 5;
for($x=0;$x<$limit;$x++) {
$title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
$link = $feed[$x]['link'];
$description = $feed[$x]['desc'];
$date = date('l F d, Y', strtotime($feed[$x]['date']));

   echo '<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />';
}


?>
 

ldel

تازه وارد
7/11/20
1
1
3
سلام دوستان سایتم ارور 404 میده و گفتن باید ریدایرکت سایت درست بشه کمک کنین پیلیززز
wpwp /wp-content/plugins/contact-form-7/includes/css/styles.css

این لینکیه که میخوان آپلود بشن فایل ها
wp-content/plugins/contact-form-7/includes/css/styles.css


در صورتی که این باید باشه کمک کمک کمک کمک کمک
 
  • Like
Reactions: جاویدان

جاویدان

کاربر عضو
27/4/15
2,573
716
113
استان تهران
سلام دوستان سایتم ارور 404 میده و گفتن باید ریدایرکت سایت درست بشه کمک کنین پیلیززز
wpwp /wp-content/plugins/contact-form-7/includes/css/styles.css

این لینکیه که میخوان آپلود بشن فایل ها
wp-content/plugins/contact-form-7/includes/css/styles.css


در صورتی که این باید باشه کمک کمک کمک کمک کمک
با سلام دوست عزیز
بهتره این پست را حذف و در یک تاپیک مجزا بدون واژه کمک مشکل را توضیح دهید .
پاسخ را سریع دریافت می کنید.
موفق باشید
 
  • Like
Reactions: linuxmint

linuxmint

کاربر عضو
13/1/12
87
32
18
linux
نه دسترسی به فروشگاه دارم دوتا سایت مجزا من درست کردم..
که دارم تست میگیرم
ولی تو سایتی که محصول هستش و کدی ک دادید رو زدم
تو سایتی ک میخوام نشون بده هم کدهimg رو زدم اما عکسی نیومد فقط متن میده..
خب تو کدتون درست عمل نکردید. شما image رو خوندید تو حلقه و تو آرایه مقداردهیش هم کردین اما تو خروجی ازش استفاده نکردین.
اول کد زیر رو در سایت cpfa.ir در فایل functions.php قالب در محل مناسب (ترجیحا انتهای فایل) درج کنید.

PHP:
function add_image_to_rss() {
    if ( has_post_thumbnail( get_the_ID() ) ){
        echo '<image>' . get_the_post_thumbnail_url( get_the_ID(), 'thumbnail' ) . '</image>';
    }
}
add_action('rss2_item', 'add_image_to_rss');
بعد در سایت دوم که می خواهید محصولات رو نمایش بدید کد زیر رو درج کنید.

PHP:
<?php
$rss = new DOMDocument();
$rss->load('http://cpfa.ir/widgets/feed/?post_type=product');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
    $item = array (
        'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
        'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
        'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
        'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
        'image' => $node->getElementsByTagName('image')->item(0)->nodeValue,
    );
    array_push($feed, $item);
}
$limit = 5;
for($x=0;$x<$limit;$x++) {
    $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
    $link = $feed[$x]['link'];
    $description = $feed[$x]['desc'];
    $date = date('l F d, Y', strtotime($feed[$x]['date']));
    $image = '<img src="'.$feed[$x]['image'].'">';
    echo $image.'<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />';
}
?>
اینکه عکس دقیقا در کجا و چه ابعادی نمایش داده بشه باید در خط آخر یعنی خط زیر درست بشه.

PHP:
echo $image.'<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />';
 
  • Like
Reactions: harbiline