[wp-hackers] Possible optimizations to rss_enclosures and
atom_enclosures
Jacob Santos
wordpress at santosj.name
Sun Jun 29 06:20:05 GMT 2008
Before I create a ticket I want to confirm that there isn't something
I'm missing with the code. I'm not sure if this is intentional and there
is something that I'm missing. However, with what I know, it seems like
it can be improved.
{{{
foreach (get_post_custom() as $key => $val) {
if ($key == 'enclosure') {
foreach ((array)$val as $enc) {
$enclosure = split("\n", $enc);
echo apply_filters('atom_enclosure', '<link href="' .
trim(htmlspecialchars($enclosure[0])) . '" rel="enclosure" length="' .
trim($enclosure[1]) . '" type="' . trim($enclosure[2]) . '" />' . "\n");
}
}
}
}}}
Can be reduced to
{{{
$metadata = get_post_custom();
if( isset($metadata['enclosure']) ) {
foreach( (array) $metadata['enclosure'] as $enc ) {
$enclosure = split("\n", $enc);
echo apply_filters('atom_enclosure', '<link href="' .
trim(htmlspecialchars($enclosure[0])) . '" rel="enclosure" length="' .
trim($enclosure[1]) . '" type="' . trim($enclosure[2]) . '" />' . "\n");
}
}
}}}
or even:
{{{
$metadata = get_post_custom();
foreach( (array) $metadata['enclosure'] as $enc ) {
$enclosure = split("\n", $enc);
echo apply_filters('atom_enclosure', '<link href="' .
trim(htmlspecialchars($enclosure[0])) . '" rel="enclosure" length="' .
trim($enclosure[1]) . '" type="' . trim($enclosure[2]) . '" />' . "\n");
}
}}}
Depending on the amount of the post metadata, looping through all of the
metadata when it is not needed doesn't seem efficient and could become
very slow on systems which have posts with a lot of metadata.
Both rss_enclosures and atom_enclosures are this way.
Jacob Santos
More information about the wp-hackers
mailing list