私は2つのウェブサイトを持っています。私はACFを使用して、カスタムの投稿タイプ "jobs"にカスタムフィールドを追加しています。私はメインサイトのkey "job_type"でカスタムフィールドを設定しました。私は今、私は<job_link>
と値へのアクセスを持っている私が見ることができるようにhttp://my-domain.com/jobs/feed/などのフィードにアクセスするとWPシンプルパイ2つのサイト間のカスタムフィールド
/** Add ACF fields to RSS **/
add_action('rss2_item', 'cup_rss2_job');
function cup_rss2_job() {
$post_id = get_the_ID();
$job_link_url = get_field('job_link', $post_id);
if($job_link_url){
echo "<job_link>{$job_link_url}</job_link>\n";
}
}
:それから私は、関数ファイルにこれを追加しました。しかし、私は(同じサーバー)上ではSimplePieを使用していますサイト上で、私は次のエラーを取得する:
WP_Error Object
(
[errors] => Array
(
[simplepie-error] => Array
(
[0] => This XML document is invalid, likely due to invalid characters. XML error: not well-formed (invalid token) at line 59, column 106
)
)
[error_data] => Array
(
)
)
私はフィードを取得するために使用しています機能を正しく設定する必要があります私は同様の機能を使用しているため、私は知っています別のカスタムフィールドで同じサイトの別のフィードを取得します。私はjob_link
のいずれかのURLは、XMLが、これは&
をHTMLに変換に必要な「&
」を持っていたし、それが原因となったものであることがわかった。これは私がXMLバリデータを通して私のフィードを実行した後fetch_feed
function cup_jobs_feed($limit, $offset) {
$feed = fetch_feed('http://my-domain.com/jobs/feed/');
if (! is_wp_error($feed)):
// Get a maximum of 1 item
$maxitems = $feed->get_item_quantity($limit);
$items = $feed->get_items($offset, $maxitems);
foreach ($items as $item):
$feedDescription = $item->get_content();
$image = returnImage($feedDescription);
$image = scrapeImage($image);
$image_url= $item->get_permalink();
$description = $item->get_description();
$description = preg_replace("/<img[^>]+\>/i", "", $description); //strip img out of description
$job_link = $item->get_item_tags('','job_link')[0]['data'];
?>
<div class="row job-listing">
<div class="col-md-4">
<div class="image-box"><?php echo '<a href="' . $image_url . '"><img class="aligncenter" src="' . $image . '" /></a>'."\n";?></div>
</div>
<div class="col-md-8 job-details">
<h4><a href="<?php echo $item->get_permalink(); ?>" target="_blank"><?php echo $item->get_title(); ?></a></h4>
<p><?php echo strip_tags($description); ?></p>
<p><?php
if($job_link){ ?>
<a href="<?php echo $job_link; ?>" target="_blank" title="Click Here to Register">Learn More</a>
<?php
} else { ?>
<a href="<?php echo $item->get_permalink(); ?>" target="_blank">Learn More</a>
<?php } ?>
</p>
</div>
<hr>
</div>
<?php
endforeach;
else: // Returned WP_Error, unable to fetch the feed.
?>
<p>There was an error fetching the CUP Jobs, please try again later</p>
<?php
endif;
?>
<?php
}