2枚の画像を生成するワードプレスのスクリプト。このスクリプトは、実際にそれが離れて一つのことから、それは余分な画像を毎回、処理することを意図しているものを行います。コードは、それが作成されますのImageMagickと私はwordpressのカスタムフィールドに保存されているURLからの画像を処理するためのImageMagickを使用しています
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php
$url1 = '/home/sites/public_html/mysite/wp-content/themes/mytheme/images/';
$imagefile = get_post_meta($post->ID, 'image_url', $single = true);
$file = basename($imagefile);
$location = '/usr/bin/convert';
$command = '-resize 560x';
$convert = $location . ' ' .$command . ' ' . $imagefile . ' ' . $url1 . $file;
exec ($convert);
?>
<?php endwhile; ?>
<?php endif; ?>
余分な画像は、同じ1つの毎回あると私のポストのリストの最初の投稿です....以下である、イムそれは最初のポストが関係したりされていないされているかどうかわかりません。
私はそれが問題やワードプレスを引き起こしているImageMagickのであれば、私が使用していますImageMagickのコマンドは、私はワードプレスに傾いています本当に簡単ですもわかりませんよ。
誰もが何か示唆できますか?
UPDATE
私が遊んでてきたと、この問題が唯一のポストのカップルと発生するようことを見出しました。私は、SQLデータベースでチェックし、影響を受けていないと明らかに何かを見ることができないものとそれらを比較しました。
は物事私は地元のdevのサーバー上でこの設定を複製しても、見知らぬ人を作るためにUPDATEが、私はそれを複製することができません。すべてうまく動作します!私は私の共有ホスト上で同じことを行うならば、問題が戻ってきます。これは私に、どこかの設定があるはずだと思うようにしています。私は、次のコードは、それが正常に動作しない場合は共有ホストで
....
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php
$url1 = '/home/sites/public_html/mysite/wp-content/themes/mytheme/images/';
$imagefile = 'http://www.mydomain.com/images/myimage.jpg';
$file = basename($imagefile);
$location = '/usr/bin/convert';
$command = '-resize 560x';
$convert = $location . ' ' .$command . ' ' . $imagefile . ' ' . $url1 . $file;
exec ($convert);
?>
<?php endwhile; ?>
<?php endif; ?>
しかし、私は画像のURLは、ワードプレスget_post_metaコマンドによって生成されている私の元のコードに戻す場合私は余分なイメージを取得します。 BlackBoxのプラグインワードプレスを使用して
UPDATE 3 は、私は何が起こっているかについて、もう少し情報を見つけることができた、ログが私にこの情報を与える。..
0.2501 [ms] SELECT * FROM wp_users WHERE user_login = 'admin';
0.1330 [ms] SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (1);
0.0739 [ms] SELECT option_value FROM wp_options WHERE option_name = 'theme_switched' LIMIT 1;
0.1280 [ms] SELECT ID, post_name, post_parent FROM wp_posts WHERE post_name IN ('uncategorized','my-test-post-75') AND (post_type = 'page' OR post_type = 'attachment');
0.1481 [ms] SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_name = 'my-test-post-75' AND wp_posts.post_type = 'post' ORDER BY wp_posts.post_date DESC ;
0.1359 [ms] SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category', 'post_tag', 'post_format') AND tr.object_id IN (215) ORDER BY t.name ASC;
0.1402 [ms] SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (215);
0.1140 [ms] SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN ('category') AND t.slug = 'uncategorized' ORDER BY t.name ASC ;
0.1018 [ms] SELECT tr.term_taxonomy_id FROM wp_term_relationships AS tr INNER JOIN wp_term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tr.object_id IN (215) AND tt.taxonomy IN ('category') ORDER BY tr.term_taxonomy_id ASC;
0.1259 [ms] SELECT p.* FROM wp_posts AS p WHERE p.post_date < '2011-06-07 20:40:34' AND p.post_type = 'post' AND p.post_status = 'publish' ORDER BY p.post_date DESC LIMIT 1;
0.0758 [ms] SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category') AND tr.object_id IN (204) ORDER BY t.name ASC;
0.0651 [ms] SELECT p.* FROM wp_posts AS p WHERE p.post_date > '2011-06-07 20:40:34' AND p.post_type = 'post' AND p.post_status = 'publish' ORDER BY p.post_date ASC LIMIT 1;
0.0849 [ms] SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category') AND tr.object_id IN (251) ORDER BY t.name ASC;
は、この新しい情報をい何が起こっているのかについて何か光を当てる?
...あなたはすべてのページビュー上でのImageMagickを実行していますか?少なくともファイルがすでに存在するかどうかを確認してください。 – ceejayoz
ファイルが存在するかどうかを確認する段階は2段階ですが、コードが正常に動作するまでそれほど重要なことはありません。 – fightstarr20
'exec'の前に' echo $ convert'を追加して、 'exec'-ingしているコマンドが期待どおりのものであることを確認できますか?また、コマンドが何回呼び出されているのか、どのファイルが何回表示されているのかを確認できます。 –