link_categories_meta_box() nu functioneaza

Lucrez la un plugin si fac partea de adaugare a unui post. Cand apas pe “Add” ar trebui sa-mi apara metabox-ul din care sa aleg categoriile si, daca vreau, sa adaug chiar una noua. Cu alte cuvinte, imi trebuie functionalitatea din imaginea de mai jos.

Am rascolit internetul si nu am gasit nimic concret legat de asta(ceea ce m-a uimit). Am vazut ca in wp-admin\includes\meta-boxes.php, este functia link_categories_meta_box(), care ar trebui sa faca ce-mi trebuie mie, dar nu merge cand o apelez. Nu am gasit nici macar wordpress-ul unde o apeleaza. Cum pot rezolva problema? Multumesc.

Eu nu înțeleg ce problemă ai. Nu îți apare box-ul de selectare a categoriilor? Nu poți adăuga o categorie nouă?

PS: editează titlul si pune ceva mai descriptiv, fără [tag-uri] în titlu.

Daca incerc sa folosesc functia link_categories_meta_box(), nu-mi apare nimic, se comporta ca un fatal error, desi nu-mi da nicio eroare.
Am incercat sa folosesc codul sursa al functiei, si imi apar categoriile, insa nu functioneaza partea de adaugare a unei categorii noi.
Acesta este codul

<div id="taxonomy-category" class="categorydiv">
	<div id="category-all" class="tabs-panel">
		<ul id="categorychecklist" class="list:category categorychecklist form-no-clear">
			<?php wp_terms_checklist(0, array( 'taxonomy' => $tax_post_type ) ) ?>
		</ul>
	</div>

	<?php if ( !current_user_can($tax->cap->assign_terms) ) : ?>
		<p><em><?php _e('You cannot modify this Taxonomy.'); ?></em></p>
	<?php endif; ?>

	<?php if ( current_user_can($tax->cap->edit_terms) ) : ?>
		<div id="category-adder" class="wp-hidden-children">
			<h4>
				<a id="category-add-toggle" href="#category-add" class="hide-if-no-js" tabindex="3">
					<?php printf( __( '+ %s' ), $tax->labels->add_new_item ); ?>
				</a>
			</h4>
			<p id="category-add" class="category-add wp-hidden-child">
				<label class="screen-reader-text" for="newcategory"><?php echo $tax->labels->add_new_item; ?></label>
				<input type="text" name="newcategory" id="newcategory" class="form-required form-input-tip" value="<?php echo esc_attr( $tax->labels->new_item_name ); ?>" tabindex="3" aria-required="true"/>
				<label class="screen-reader-text" for="newcategory_parent">
					<?php echo $tax->labels->parent_item_colon; ?>
				</label>
				<?php wp_dropdown_categories( array( 'taxonomy' => 'category', 'hide_empty' => 0, 'name' => 'newcategory_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '&mdash; ' . $tax->labels->parent_item . ' &mdash;', 'tab_index' => 3 ) ); ?>
				<input type="button" id="category-add-submit" class="add:categorychecklist:category-add button category-add-sumbit" value="<?php echo esc_attr( $tax->labels->add_new_item ); ?>" tabindex="3" />
				<?php wp_nonce_field( 'add-category', '_ajax_nonce-add-category', false ); ?>
				<span id="category-ajax-response"></span>
			</p>
		</div>
	<?php endif; ?>
</div>

Asta pentru că trebuie să incluzi si wp-admin\js\link(.min)?.js. Poți face asta folosind hook-ul admin_enqueue_scripts:

add_action('admin_enqueue_scripts', function ($hook) {
  wp_enqueue_script('link');
});

Nu e de la asta.
Poza am luat-o de pe pagina de adaugare unui post nou. (post-new.php).
Unde este
<script type='text/javascript' src='http://localhost/wordpress/wp-admin/load-scripts.php?c=1&amp;load%5B%5D=jquery-core,jquery-migrate,utils&amp;ver=4.4.2'></script>
Restul scripturilor incluse, sunt irelevante pentru aceasta functionalitate.

Iar pe pagina mea, e la fel.
<script type='text/javascript' src='http://localhost/wordpress/wp-admin/load-scripts.php?c=1&amp;load%5B%5D=jquery-core,jquery-migrate,utils&amp;ver=4.4.2'></script>

Oricum, varianta asta e cam trasa de par, nu inteleg de ce nu functioneaza link_categories_meta_box(), care ar trebui sa faca exact ce imi trebuie mie si nu inteleg cum de nu gasesc pe net aproape nimic despre aceasta functioalitate. Nu pot sa cred ca sunt singurul care a incercat sa faca asa ceva in wordpress.

Deci ai un plugin care adauga post-uri via o anumita taxonomie? Pune si codul prin care adaugi taxonomia, poate e pe acolo vreo problema.

Credeam că am zis mai sus, dar se pare că am omis: cred că faci ceva greșit și nu înțeleg de ce ai nevoie să faci asta.

2 Likes

Codul care l-am postat mai sus, imi face un request ajax, out of the box, adica fara ca sa mai adaug vreun cod suplimentar.

Problema acum este ca la paramaetrul “action”, tot timpul imi pune “add-”, in loc de “add-category” si nu reusesc nicicum sa gasesc de ce se intampla asta si de unde sa corectez.

Am niste produse care vin din feed. Am un buton “Add” la fiecare produs, din feed, dupa cum se poate vedea si in screenshot, care are rol de a-l adauga in baza de date. Dupa ce se apasa add, apare metabox-ul in care trebuie sa alegi/adaugi categoria. Cum se procedeaza corect, in cazul asta? Este vreo functie care face asta? Sau se face cu un cod de genul, care l-am postat eu mai sus?