記事だけでなく、サイトの全URL
これは何を意味しますか?
投稿、固定ページ、カスタム投稿、画像、記事内等に含まれる外部ページのURLも該当?
CG
(@du-bist-der-lenz)
ウィジェットや一覧からの投稿のリンクではなくサイト全体を把握できるサイトマップを生成したいということでしょうか。
投稿、固定ページ、カスタム投稿、画像などのサイト内部のURLとなります。
外部リンクは不要となります。
CG
(@du-bist-der-lenz)
投稿、固定ページ、カスタム投稿、メディアのID取得ですか。
bah91929さん
再確認です。
画像に関してはどちらを指してますか?
単純な画像のURL
http://~/wp-content/uploads/2017/06/image.jpg
または添付ファイルのページ
http://~/?attachment_id=5
画像にはサムネイルもあると思いますが、その辺りはどうなんでしょうか?
CGさん
bah91929さんはIDなどとどこにも書いてません。
そんな無意味でオウム返しのような回答は望んでないと思いますので有用で的確な回答をしてください。
また、質問者の混乱を招くようなコメントが多くあります。
-
この返信は7年、 4ヶ月前にmanboが編集しました。
ご返信ありがとうございます。
では画像は無しでそれ以外のurlが取得できればと存じます。
あれ?
編集したら投稿が見えなくなりました・・・
以下再投稿
プラグインを使えば簡単に抽出ができます。
Simple CSV/XLS Exporter
https://ja.wordpress.org/plugins/simple-csv-xls-exporter/
以前、自分が探した時には純粋に画像のURLだけを抜けるプラグインは無かったのですが、このプラグインは簡単簡潔ですね。
カスタムフィールドを抽出したい場合はExport WordPress data to XML/CSV等が良いと思います。
https://ja.wordpress.org/plugins/wp-all-export/
プラグインを使うとデータベースにゴミを残すから絶対に嫌だ、使いたくないと思われたら選択肢に入れてください。
テーマのfunctions.phpに以下を追記して管理画面から何でも良いので投稿ページを開いて更新ボタンを押せばwp-config.phpがある階層にmy_page_url.txt
という名前でファイルを生成します。
投稿や固定ページを分けて出したい場合は都度'post_type'
の修正が必要です。
function genereate_site_url_txt() {
$args = array(
'post_type' => array('post','page' , 'カスタム投稿1' , 'カスタム投稿2' , 'カスタム投稿3' ),
'orderby' => 'ID',
'posts_per_page' => -1,
);
$posts_array = get_posts( $args );
foreach( $posts_array as $post ) {
$page_url = get_permalink( $post );
@$site_url .= $page_url . "\n" ;
}
$object = fopen( ABSPATH . 'my_page_url.txt' , 'w' );
if ( $object ) {
fwrite( $object , $site_url );
fclose( $object );
}
}
add_action( 'publish_post' , 'genereate_site_url_txt' );
一応画像に関しても考えてみました。
メディアライブラリに登録されている画像のURLを抽出します。
これが分かれば余程のことが無い限りサムネイルのURLが必要であっても簡単に割り出せると思います。
my_images_url.txt
の名前でファイルを作ります。
これもfunctions.phpに書いて投稿ページで更新ボタンを押せば良いだけです。
function genereate_images_url_txt() {
$args = array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'post_status' => 'inherit',
'posts_per_page' => -1,
);
$images_array = new WP_Query( $args );
$site_url = get_site_url();
$images = array();
foreach ( $images_array->posts as $image ) {
$image_url = wp_get_attachment_url( $image->ID );
@$images_url .= $site_url . $image_url . "\n" ;
}
$object = fopen( ABSPATH . 'my_images_url.txt' , 'w' );
if ( $object ) {
fwrite( $object , $images_url );
fclose( $object );
}
}
add_action( 'publish_post' , 'genereate_images_url_txt' );
もう少しスマートな方法があったかもしれませんが、どの方法でやるかは好みで決めてください。