it-swarm.dev

Vytvářejte programově programově

Aktualizuji programově příspěvky v WP 3.01 instalaci pomocí vlastních nástrojů. Někdy se programově mění post_status z DRAFT na PUBLIKOVANÉ pomocí vlastních SELECT dotazů, nicméně toto se zdá být zkažené příspěvky permalinks.

Ve stavu DRAFT mají příspěvky následující strukturu odkazů

http://myblog.com/?p=73006

Mohl by existovat nějaký "trik", který by vynutil změnu ve struktuře propojení, generování správného permalinku?

2
Riccardo

Musíte programově nastavit slug, jak to děláte. Spoušť SQL by mohla stačit. Nezapomeňte si pamatovat duplicitní slimáky, jak to píšete.

Jinak namísto publikování pomocí databáze napište skript PHP, který volá WP API.

3
Denis de Bernardy

Vytvořte soubor .php v kořenovém adresáři adresáře WordPress a napište:

<?php
require( 'wp-load.php' );

$urunler = array(
    'order'          => 'ASC',
    'post_type'      => 'urun',
    'post_status'    => null,
    'numberposts'    => -1,
);

$tumurunler = get_posts($urunler);
if ($tumurunler) {
  foreach ($tumurunler as $urun) {
    $urun->post_name = '';
    wp_update_post( $urun );   // Update the post into the database
  }
}

Takže tento kód načte všechny příspěvky post_type=='urun' a nastaví pole $urun->post_name na prázdné (toto pole definuje post permalink) a WordPress automaticky vyplní hodnotu pro vás, když voláte wp_update_post(). Pokud chcete změnit post_type' na 'post' nebo post_type' na 'page' stačí změnit tento řádek:

'post_type'      => 'urun',
2
Ünsal Korkmaz