Tag Info

Hot answers tagged

6

I am not going to give any specific code but I will give you Idea how it can be done without creating any custom database table. I am assuming one driver per truck Algorithm Create two html list, make them sortable. Each list items represents a post type and have ID data field. Once sorting is done get all ids in order. Make two array one contains truck ...


5

As the article mentions, using wp_options is not a good idea when you have thousands of terms, mainly because there's: a lot of serialization involved OR long option names (the limit is 64 characters) In this particular case, yes, it's appropriate to create some custom tables. To save time, you can use this plugin (update more recently than Simple Term ...


4

I think your question is a perfect example for the XY Problem. In WordPress you do not create such a menu in a post editor. You use a menu. Once you start thinking about your problem from this point, everything is easy. :) First register a custom navigation menu for this list in your theme’s functions.php: add_action( 'wp_loaded', ...


4

This is how I would update a field named 'Address': function updateAddress() { global $current_user; get_currentuserinfo(); $newAddress = '123 New Street'; xprofile_set_field_data('Address', $current_user->id, $newAddress); }


4

A convenient way to use $wpdb in plugins, with custom tables and custom functions is write a class or a couple of functions that get the wp object, and configure it. An example: /* Return global wpdb aready setup with custom tables */ my_plugin_get_db( wpdb $wpdb = NULL ) { static $db; if ( is_null($db) || ! is_null( $wpdb ) ) { $db = ...


3

While I am a big fan of tweaking wordpress as much as it could because it allows us to, I think the best way forward is to have the best algorithm before coding. Reading your question, I came across " Actually, I have created two custom post type named 'truck' and 'drivers' ". Issue: Linking two post types requires extra work as you are doing because ...


3

Your dot and quote notation is funky. Try this: if($wpdb->get_var("SHOW TABLES LIKE '$table_name'" ) != $table_name){ $sql= "CREATE TABLE $table_name ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date ...


3

This can be used, mainly by plugins, to add some additional information to a comment. By having one generic table you don't need to add columns to wp_comment for every additional piece of data. E.g. a plugin could add a rating to each comment and store that value in wp_commentmeta.


3

That table is essentially the same as for all of the other "meta" tables in the WordPress architecture. It holds misc. bits of extra, usually optional, information about the associated post, user, or in this case comment. You can store whatever information you need to add to a comment-- perhaps a plugin wants to implement "abuse" flags, or comment upvotes. ...


3

Ok, first of all, I feel like an idiot, although in my defense most of the articles that talk about this don't mention a very crutial detail in making this work. The answer is that you need to set permission for at least one admin in the database. This info can be found in the Codex here: ...


3

The details of custom post types aren't stored anywhere, they're loaded at runtime with each request via register_post_type calls.


3

Please take a look at user_register hook This is fired when a new user is registered and conveniently passes you the user ID of the new user. function function_name( $user_id ) { /* do what you want to do with ID here */ } add_action( 'user_register', 'function_name');


2

Write a function that uses $wpdb->prefix as a fallback. Something like this: function wpse65880_table_with_prefix($table) { // should define array in config file, rather than hard coding $my_tables = array("table1", "table2", "table3", "table4"); if (in_array($table, $my_tables)) { // "qa_" should also be a config file setting ...


2

This plugin does allow theming. Check out the "Other Notes" tab in the plugin page. As far as making it sortable, your path of least resistance is to use javascript. Here's a jQuery plugin that will do (almost) all the work for you. Hope that helps! Cheers~


2

The prepare() method escapes %s. The second piece of code you listed breaks because quotation marks are added to the table name, hence it doesn't match what's in the DB. The first piece of code works because it's a straight string replacement hence matching the name of the table in the database. What is the error message you are getting? HTH


2

WP-Table Reloaded is a great plugin which allows you to create tables and use their shortcodes in your post. Bear in mind, however, that not all themes are "table-friendly". Alternatively, you can try Dean's FCKeditor Plugin For WordPress, which appears to have an "Insert Table" function to keep you from messing around with HTML. And the best option, in my ...


2

SELECT * FROM wp_posts, wp_2_posts, wp_3_posts WHERE wp_posts.post_content LIKE '%foo' OR wp_2_posts.post_content LIKE '%foo' OR wp_3_posts.post_content LIKE '%foo'; should do the trick. (Note that in Multisite, there shouldn't be a wp_1_posts -- your root site uses wp_posts etc.)


2

Get all of your posts in one query, then count the iterations of your loop. Pseudo-code follows. if ( $query->have_posts() ) { $i = 0; while ( $query->have_posts() ) { // If $i is 5 (5th post), end one row and start the next if (++$i == 5) { echo '</tr><tr>'; } // the rest of your loop output


2

Suggested here by JLeuse. It seems the contents within WP Table Reloaded is indeed separated from the post, which means the default Wordpress search function won't be able to fetch it...


2

The code you posted doesn't work because there is no global $currentpage. There are $current_screen and $pagenow. add_action( 'pre_get_posts', 'wpse_63414_hide_pages' ); function wpse_63414_hide_pages( $query ) { if( !is_admin() ) return $query; global $pagenow; $pages = array('2','26'); if( 'edit.php' == $pagenow ...


2

Here is what is happening with your code: query_posts uses the global variable wp_query. It always overwrites that variable, which is why you should not use query_posts pretty much ever. Your first query_posts clobbers the original $wp_query data. You start the Loop The first thing you do in that loop is reset $wp_query to the original query. Now the ...


2

DBDelta is extremely picky-- to the point of being maddening sometimes. From the Codex: You must put each field on its own line in your SQL statement. You must have two spaces between the words PRIMARY KEY and the definition of your primary key. You must use the key word KEY rather than its synonym INDEX and you must include at least one KEY. You must ...


2

Looking at this article on WP.org it seems you have to create your database first, with some SQL: function mp_install_table() { global $wpdb; $table_name = $wpdb->prefix . "countries"; $sql = "CREATE TABLE $table_name ( id mediumint(9) NOT NULL AUTO_INCREMENT, name tinytext NOT NULL, labour_cost INT, ...


2

$wpdb is outside the scope of your plugin file, you need global $wpdb; before using $wpdb->prefix


2

Globalizing WordPress-defined vars is not the same as creating your own global variables. In the former, you have no choice, it's the latter which you can choose to avoid. Wrap your functions in a class and define your table name as a member var. This lets you define it in one place and keeps it out of the global scope.


1

These additional dropdowns are added via the restrict_manage_posts action hook. This means the dropdown output isn't filterable, but you can remove the hooked action from Yoast SEO. The filter dropdown is added by the posts_filter_dropdown() method in the WPSEO_Metabox class. It's added in the setup_page_analysis() method of the same class, which is hooked ...


1

Try this code. Create a file like "my_db.php" and paste this code: global $table_version; $table_version = "1.0"; function func_table_contactus(){ creat_table_contactus(); } function creat_table_contactus(){ global $wpdb; global $table_version; $table_contactus = $wpdb->prefix."contactus"; $slider_ver = ...


1

Most of the complex tables in admin are produced using WP_List_Table class. Despite being formally private, it has been widely used by third party extensions for years now. It's not exactly friendly to work with, so you should research it and consider if your requirements merit reusing it or just replicating markup to achieve same visual look.


1

WordPress already has both user and post meta data tables, and associated API for handling the data. Storing an array of post IDs for each user in user meta sounds like it would work for your application.


1

I'm not sure if suggesting plugins here is still taboo, but I'm going to go that route for you, because it's going to be the most effective and simple method for you to achieve this. Install two plugins: Custom Post Type UI, and Advanced Custom Fields Alternatively, forego CPTUI (it's just nice to have a visual) and create a new custom post type via your ...



Only top voted, non community-wiki answers of a minimum length are eligible