Pods: Plugin Yoast SEO

Dibuat pada 30 Des 2013  ·  18Komentar  ·  Sumber: pods-framework/pods

Judul & desc SEO tidak disimpan
https://github.com/Yoast/wordpress-seo/issues/508

Integration Inactive Puntable Help Wanted Researched Bug

Semua 18 komentar

dalam masalah SEO Yoast Anda dapat membaca:

Saya kira itu menegaskan bahwa ini adalah masalah dengan plugin Pods, bukan dengan WP SEO.

Mungkin waktu yang tidak tepat dari register_taxonomy() ?

debug: fungsi update_term() kelas WPSEO_Taxonomy terdaftar di $wp_filter WP do_action()
tapi tidak dipanggil

saat menyimpan ke taksonomi khusus yang ditentukan oleh Pod
save_taxonomy() PodsMeta dipanggil DUA KALI

debug: fungsi update_term() kelas WPSEO_Taxonomy terdaftar di $wp_filter WP do_action()
tapi tidak dipanggil

Sudahkah Anda menentukan pada titik mana (dari segi waktu) mereka mengaitkan aksinya?

Pada waktu 'init'.
Keduanya terdaftar di WP do_action()
tapi entah bagaimana di wp-include/plugin. php:429 save_taxonomy() PodsMeta dipanggil DUA KALI
dan update_term() kelas WPSEO_Taxonomy ditinggalkan.

Mungkin pods_no_conflict_on() penyebabnya?

tapi entah bagaimana di wp-include/plugin. php:429 save_taxonomy() PodsMeta dipanggil DUA KALI

Saya akan melihat apakah saya dapat mencari tahu apa yang menyebabkan perilaku khusus ini dan apakah itu terkait.

Terima kasih banyak! Saya melihat Anda tahu kedua plugin.

Apa yang kami miliki di sini adalah bug WordPress yang rumit: http://core.trac.wordpress.org/ticket/17817 Kerja keras Anda menghemat banyak waktu yang mungkin saya habiskan untuk menyodok area yang tidak terkait. Ini cukup aneh untuk memecahkan masalah karena itu sangat membantu.

Seperti yang mungkin Anda temukan, Anda dapat mengomentari panggilan ke pods_no_conflict_on dan masalahnya tidak lagi muncul. Kami telah membungkus Pods::save dengan panggilan tanpa konflik untuk menghindari panggilan tindakan rekursif yang mungkin terjadi melalui save() . Karena bug WordPress, bagaimanapun, ketika kami menghapus kait tindakan kami, itu juga membawa kait tindakan prioritas lebih rendah lainnya. Anda dapat membuat ulang situasi ini sendiri di tema anak atau plugin dengan kode berikut:

add_action( 'edit_term', 'test_17817', 15, 3 );
function test_17817( $term_id, $tt_id, $taxonomy ) {
    remove_action( 'edit_term', 'test_17817', 15 );
}

Saya telah memilih 15 sebagai prioritas untuk pengujian ini karena berada di antara prioritas Pod 10 dan Yoast 99. Dengan kode itu di function.php tema anak dan Pod, tidak ada panggilan konflik yang dikomentari, masalah masih terwujud.

Di sisi Yoast, Anda juga dapat menyelesaikan masalah dengan mengubah 99 prioritas panggilan add_action menjadi 10 atau kurang.

Juga dalam pengujian saya yang disederhanakan, Anda dapat menambahkan tindakan Anda sendiri (fungsi panggilan balik itu sendiri dapat berupa fungsi kosong) dengan prioritas antara Pod dan Yoast dan masalah akan teratasi.

Kami masih memikirkan yang satu ini karena memiliki dampak yang lebih luas untuk jenis konten WordPress secara umum, dan kami sangat terlibat dalam arena itu.

BTW, tidak ada informasi yang disarankan untuk diperbaiki saat ini. Ini hanya rincian bug dan bagaimana manifestasinya.

ini adalah perbaikan yang cocok untuk saya:

add_action( 'edit_term', 'test_17817', 15, 3 );
function test_17817( $term_id, $tt_id, $taxonomy ) {
    // http://core.trac.wordpress.org/ticket/17817
    remove_action( 'edit_term', 'test_17817', 15 );
}

Terima kasih banyak.
Saya tidak cukup mengerti WP dan pengkodean, saya seorang debugger.

Saya akan mengeluarkan remove_action dari badan fungsi dan membiarkan fungsi tersebut kosong. Panggilan remove_action sana adalah untuk mengilustrasikan bagaimana Anda dapat membuat manifes bug tanpa Pod menyebabkannya. Memiliki itu di sana berpotensi memperumit masalah bagi Anda di masa depan.

Saya pikir juga bagus untuk mendokumentasikan di sini bahwa proses yang kami gunakan di sini sebenarnya adalah apa yang direkomendasikan oleh inti WordPress (meskipun, pada tindakan yang berbeda):

http://codex.wordpress.org/Plugin_API/Action_Reference/save_post#Avoiding_infinite_loops

Permisi.
Mengapa mengaitkan edit_term ketika tidak ada bidang tambahan untuk taksonomi khusus?

Saya tidak yakin apakah ada penjelasan fungsional di balik itu, atau hanya "begitulah awalnya ditulis". Pertanyaan bagus yang mungkin layak menjadi masalah baru untuk pertimbangan pengoptimalan 3.0: tidak mengaitkan hal-hal yang dapat kita tentukan bahwa kita tidak perlu mengaitkannya pada saat itu.

Apakah masalah ini masih aktif?

Apakah Pods v3 (bidang repeater) akan dirilis?

@szepeviktor Sepertinya tidak ada hubungannya dengan topik ini.
Bagaimanapun, rilis pertama akan menjadi 2,8 (bidang grup + refactor penuh dari admin Pod).
Untuk 2.9 bidang yang dapat diulang, lihat: #1095
Untuk bidang loop 3.0, lihat: #1095

Kembali ke topik, saya mencoba mereproduksi ini dan ini sepertinya tidak menjadi masalah aktif lagi (akan menyadarinya karena saya menggunakan Yoast SEO pada beberapa proyek juga).

Apakah halaman ini membantu?
0 / 5 - 0 peringkat